summaryrefslogtreecommitdiff
path: root/src/plugins/HPMHooking
diff options
context:
space:
mode:
authorHercules.ws <dev@herc.ws>2020-06-01 02:47:18 +0200
committerHerculesWSAPI <dev@herc.ws>2020-06-01 02:47:18 +0200
commit6188b2eb25c9fdcd33cfbef50e3dd41774f37994 (patch)
tree1c296d35520dfbd38d0a192e1e869a6f49f8f0b1 /src/plugins/HPMHooking
parent183488e0088f59242b0ab609271d126dc2a6c758 (diff)
downloadhercules-6188b2eb25c9fdcd33cfbef50e3dd41774f37994.tar.gz
hercules-6188b2eb25c9fdcd33cfbef50e3dd41774f37994.tar.bz2
hercules-6188b2eb25c9fdcd33cfbef50e3dd41774f37994.tar.xz
hercules-6188b2eb25c9fdcd33cfbef50e3dd41774f37994.zip
HPM Hooks Update
Signed-off-by: HerculesWSAPI <dev@herc.ws>
Diffstat (limited to 'src/plugins/HPMHooking')
-rw-r--r--src/plugins/HPMHooking/HPMHooking.Defs.inc128
-rw-r--r--src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc256
-rw-r--r--src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc66
-rw-r--r--src/plugins/HPMHooking/HPMHooking_map.Hooks.inc1546
4 files changed, 1896 insertions, 100 deletions
diff --git a/src/plugins/HPMHooking/HPMHooking.Defs.inc b/src/plugins/HPMHooking/HPMHooking.Defs.inc
index 9be0fdae9..c04eedb05 100644
--- a/src/plugins/HPMHooking/HPMHooking.Defs.inc
+++ b/src/plugins/HPMHooking/HPMHooking.Defs.inc
@@ -7252,6 +7252,8 @@ typedef int (*HPMHOOK_pre_skill_get_hp) (int *skill_id, int *skill_lv);
typedef int (*HPMHOOK_post_skill_get_hp) (int retVal___, int skill_id, int skill_lv);
typedef int (*HPMHOOK_pre_skill_get_mhp) (int *skill_id, int *skill_lv);
typedef int (*HPMHOOK_post_skill_get_mhp) (int retVal___, int skill_id, int skill_lv);
+typedef int (*HPMHOOK_pre_skill_get_msp) (int *skill_id, int *skill_lv);
+typedef int (*HPMHOOK_post_skill_get_msp) (int retVal___, int skill_id, int skill_lv);
typedef int (*HPMHOOK_pre_skill_get_sp) (int *skill_id, int *skill_lv);
typedef int (*HPMHOOK_post_skill_get_sp) (int retVal___, int skill_id, int skill_lv);
typedef int (*HPMHOOK_pre_skill_get_hp_rate) (int *skill_id, int *skill_lv);
@@ -7266,6 +7268,14 @@ typedef int (*HPMHOOK_pre_skill_get_itemid) (int *skill_id, int *item_idx);
typedef int (*HPMHOOK_post_skill_get_itemid) (int retVal___, int skill_id, int item_idx);
typedef int (*HPMHOOK_pre_skill_get_itemqty) (int *skill_id, int *item_idx, int *skill_lv);
typedef int (*HPMHOOK_post_skill_get_itemqty) (int retVal___, int skill_id, int item_idx, int skill_lv);
+typedef bool (*HPMHOOK_pre_skill_get_item_any_flag) (int *skill_id, int *skill_lv);
+typedef bool (*HPMHOOK_post_skill_get_item_any_flag) (bool retVal___, int skill_id, int skill_lv);
+typedef int (*HPMHOOK_pre_skill_get_equip_id) (int *skill_id, int *item_idx);
+typedef int (*HPMHOOK_post_skill_get_equip_id) (int retVal___, int skill_id, int item_idx);
+typedef int (*HPMHOOK_pre_skill_get_equip_amount) (int *skill_id, int *item_idx, int *skill_lv);
+typedef int (*HPMHOOK_post_skill_get_equip_amount) (int retVal___, int skill_id, int item_idx, int skill_lv);
+typedef bool (*HPMHOOK_pre_skill_get_equip_any_flag) (int *skill_id, int *skill_lv);
+typedef bool (*HPMHOOK_post_skill_get_equip_any_flag) (bool retVal___, int skill_id, int skill_lv);
typedef int (*HPMHOOK_pre_skill_get_zeny) (int *skill_id, int *skill_lv);
typedef int (*HPMHOOK_post_skill_get_zeny) (int retVal___, int skill_id, int skill_lv);
typedef int (*HPMHOOK_pre_skill_get_num) (int *skill_id, int *skill_lv);
@@ -7380,10 +7390,18 @@ typedef int (*HPMHOOK_pre_skill_vf_cast_fix) (struct block_list **bl, double *ti
typedef int (*HPMHOOK_post_skill_vf_cast_fix) (int retVal___, struct block_list *bl, double time, uint16 skill_id, uint16 skill_lv);
typedef int (*HPMHOOK_pre_skill_delay_fix) (struct block_list **bl, uint16 *skill_id, uint16 *skill_lv);
typedef int (*HPMHOOK_post_skill_delay_fix) (int retVal___, struct block_list *bl, uint16 skill_id, uint16 skill_lv);
+typedef int (*HPMHOOK_pre_skill_check_condition_required_equip) (struct map_session_data **sd, int *skill_id, int *skill_lv);
+typedef int (*HPMHOOK_post_skill_check_condition_required_equip) (int retVal___, struct map_session_data *sd, int skill_id, int skill_lv);
typedef int (*HPMHOOK_pre_skill_check_condition_castbegin) (struct map_session_data **sd, uint16 *skill_id, uint16 *skill_lv);
typedef int (*HPMHOOK_post_skill_check_condition_castbegin) (int retVal___, struct map_session_data *sd, uint16 skill_id, uint16 skill_lv);
+typedef int (*HPMHOOK_pre_skill_check_condition_required_items) (struct map_session_data **sd, int *skill_id, int *skill_lv);
+typedef int (*HPMHOOK_post_skill_check_condition_required_items) (int retVal___, struct map_session_data *sd, int skill_id, int skill_lv);
+typedef bool (*HPMHOOK_pre_skill_items_required) (struct map_session_data **sd, int *skill_id, int *skill_lv);
+typedef bool (*HPMHOOK_post_skill_items_required) (bool retVal___, struct map_session_data *sd, int skill_id, int skill_lv);
typedef int (*HPMHOOK_pre_skill_check_condition_castend) (struct map_session_data **sd, uint16 *skill_id, uint16 *skill_lv);
typedef int (*HPMHOOK_post_skill_check_condition_castend) (int retVal___, struct map_session_data *sd, uint16 skill_id, uint16 skill_lv);
+typedef int (*HPMHOOK_pre_skill_get_any_item_index) (struct map_session_data **sd, int *skill_id, int *skill_lv);
+typedef int (*HPMHOOK_post_skill_get_any_item_index) (int retVal___, struct map_session_data *sd, int skill_id, int skill_lv);
typedef int (*HPMHOOK_pre_skill_consume_requirement) (struct map_session_data **sd, uint16 *skill_id, uint16 *skill_lv, short *type);
typedef int (*HPMHOOK_post_skill_consume_requirement) (int retVal___, struct map_session_data *sd, uint16 skill_id, uint16 skill_lv, short type);
typedef struct skill_condition (*HPMHOOK_pre_skill_get_requirement) (struct map_session_data **sd, uint16 *skill_id, uint16 *skill_lv);
@@ -7552,40 +7570,130 @@ 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, int *pos);
typedef void (*HPMHOOK_post_skill_init_unit_layout_unknown) (int skill_idx, int pos);
+typedef void (*HPMHOOK_pre_skill_validate_id) (struct config_setting_t **conf, struct s_skill_db **sk, int *conf_index);
+typedef void (*HPMHOOK_post_skill_validate_id) (struct config_setting_t *conf, struct s_skill_db *sk, int conf_index);
+typedef bool (*HPMHOOK_pre_skill_name_contains_invalid_character) (const char **name);
+typedef bool (*HPMHOOK_post_skill_name_contains_invalid_character) (bool retVal___, const char *name);
+typedef void (*HPMHOOK_pre_skill_validate_name) (struct config_setting_t **conf, struct s_skill_db **sk);
+typedef void (*HPMHOOK_post_skill_validate_name) (struct config_setting_t *conf, struct s_skill_db *sk);
+typedef void (*HPMHOOK_pre_skill_validate_max_level) (struct config_setting_t **conf, struct s_skill_db **sk);
+typedef void (*HPMHOOK_post_skill_validate_max_level) (struct config_setting_t *conf, struct s_skill_db *sk);
+typedef void (*HPMHOOK_pre_skill_validate_description) (struct config_setting_t **conf, struct s_skill_db **sk);
+typedef void (*HPMHOOK_post_skill_validate_description) (struct config_setting_t *conf, struct s_skill_db *sk);
+typedef void (*HPMHOOK_pre_skill_validate_range) (struct config_setting_t **conf, struct s_skill_db **sk);
+typedef void (*HPMHOOK_post_skill_validate_range) (struct config_setting_t *conf, struct s_skill_db *sk);
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);
typedef void (*HPMHOOK_post_skill_validate_skilltype) (struct config_setting_t *conf, struct s_skill_db *sk);
+typedef void (*HPMHOOK_pre_skill_validate_skillinfo) (struct config_setting_t **conf, struct s_skill_db **sk);
+typedef void (*HPMHOOK_post_skill_validate_skillinfo) (struct config_setting_t *conf, struct s_skill_db *sk);
typedef void (*HPMHOOK_pre_skill_validate_attacktype) (struct config_setting_t **conf, struct s_skill_db **sk);
typedef void (*HPMHOOK_post_skill_validate_attacktype) (struct config_setting_t *conf, struct s_skill_db *sk);
typedef void (*HPMHOOK_pre_skill_validate_element) (struct config_setting_t **conf, struct s_skill_db **sk);
typedef void (*HPMHOOK_post_skill_validate_element) (struct config_setting_t *conf, struct s_skill_db *sk);
-typedef void (*HPMHOOK_pre_skill_validate_skillinfo) (struct config_setting_t **conf, struct s_skill_db **sk);
-typedef void (*HPMHOOK_post_skill_validate_skillinfo) (struct config_setting_t *conf, struct s_skill_db *sk);
typedef void (*HPMHOOK_pre_skill_validate_damagetype) (struct config_setting_t **conf, struct s_skill_db **sk);
typedef void (*HPMHOOK_post_skill_validate_damagetype) (struct config_setting_t *conf, struct s_skill_db *sk);
+typedef void (*HPMHOOK_pre_skill_validate_splash_range) (struct config_setting_t **conf, struct s_skill_db **sk);
+typedef void (*HPMHOOK_post_skill_validate_splash_range) (struct config_setting_t *conf, struct s_skill_db *sk);
+typedef void (*HPMHOOK_pre_skill_validate_number_of_hits) (struct config_setting_t **conf, struct s_skill_db **sk);
+typedef void (*HPMHOOK_post_skill_validate_number_of_hits) (struct config_setting_t *conf, struct s_skill_db *sk);
+typedef void (*HPMHOOK_pre_skill_validate_interrupt_cast) (struct config_setting_t **conf, struct s_skill_db **sk);
+typedef void (*HPMHOOK_post_skill_validate_interrupt_cast) (struct config_setting_t *conf, struct s_skill_db *sk);
+typedef void (*HPMHOOK_pre_skill_validate_cast_def_rate) (struct config_setting_t **conf, struct s_skill_db **sk);
+typedef void (*HPMHOOK_post_skill_validate_cast_def_rate) (struct config_setting_t *conf, struct s_skill_db *sk);
+typedef void (*HPMHOOK_pre_skill_validate_number_of_instances) (struct config_setting_t **conf, struct s_skill_db **sk);
+typedef void (*HPMHOOK_post_skill_validate_number_of_instances) (struct config_setting_t *conf, struct s_skill_db *sk);
+typedef void (*HPMHOOK_pre_skill_validate_knock_back_tiles) (struct config_setting_t **conf, struct s_skill_db **sk);
+typedef void (*HPMHOOK_post_skill_validate_knock_back_tiles) (struct config_setting_t *conf, struct s_skill_db *sk);
+typedef void (*HPMHOOK_pre_skill_validate_cast_time) (struct config_setting_t **conf, struct s_skill_db **sk);
+typedef void (*HPMHOOK_post_skill_validate_cast_time) (struct config_setting_t *conf, struct s_skill_db *sk);
+typedef void (*HPMHOOK_pre_skill_validate_act_delay) (struct config_setting_t **conf, struct s_skill_db **sk);
+typedef void (*HPMHOOK_post_skill_validate_act_delay) (struct config_setting_t *conf, struct s_skill_db *sk);
+typedef void (*HPMHOOK_pre_skill_validate_walk_delay) (struct config_setting_t **conf, struct s_skill_db **sk);
+typedef void (*HPMHOOK_post_skill_validate_walk_delay) (struct config_setting_t *conf, struct s_skill_db *sk);
+typedef void (*HPMHOOK_pre_skill_validate_skill_data1) (struct config_setting_t **conf, struct s_skill_db **sk);
+typedef void (*HPMHOOK_post_skill_validate_skill_data1) (struct config_setting_t *conf, struct s_skill_db *sk);
+typedef void (*HPMHOOK_pre_skill_validate_skill_data2) (struct config_setting_t **conf, struct s_skill_db **sk);
+typedef void (*HPMHOOK_post_skill_validate_skill_data2) (struct config_setting_t *conf, struct s_skill_db *sk);
+typedef void (*HPMHOOK_pre_skill_validate_cooldown) (struct config_setting_t **conf, struct s_skill_db **sk);
+typedef void (*HPMHOOK_post_skill_validate_cooldown) (struct config_setting_t *conf, struct s_skill_db *sk);
+typedef void (*HPMHOOK_pre_skill_validate_fixed_cast_time) (struct config_setting_t **conf, struct s_skill_db **sk);
+typedef void (*HPMHOOK_post_skill_validate_fixed_cast_time) (struct config_setting_t *conf, struct s_skill_db *sk);
typedef void (*HPMHOOK_pre_skill_validate_castnodex) (struct config_setting_t **conf, struct s_skill_db **sk, bool *delay);
typedef void (*HPMHOOK_post_skill_validate_castnodex) (struct config_setting_t *conf, struct s_skill_db *sk, bool delay);
+typedef void (*HPMHOOK_pre_skill_validate_hp_cost) (struct config_setting_t **conf, struct s_skill_db **sk);
+typedef void (*HPMHOOK_post_skill_validate_hp_cost) (struct config_setting_t *conf, struct s_skill_db *sk);
+typedef void (*HPMHOOK_pre_skill_validate_sp_cost) (struct config_setting_t **conf, struct s_skill_db **sk);
+typedef void (*HPMHOOK_post_skill_validate_sp_cost) (struct config_setting_t *conf, struct s_skill_db *sk);
+typedef void (*HPMHOOK_pre_skill_validate_hp_rate_cost) (struct config_setting_t **conf, struct s_skill_db **sk);
+typedef void (*HPMHOOK_post_skill_validate_hp_rate_cost) (struct config_setting_t *conf, struct s_skill_db *sk);
+typedef void (*HPMHOOK_pre_skill_validate_sp_rate_cost) (struct config_setting_t **conf, struct s_skill_db **sk);
+typedef void (*HPMHOOK_post_skill_validate_sp_rate_cost) (struct config_setting_t *conf, struct s_skill_db *sk);
+typedef void (*HPMHOOK_pre_skill_validate_max_hp_trigger) (struct config_setting_t **conf, struct s_skill_db **sk);
+typedef void (*HPMHOOK_post_skill_validate_max_hp_trigger) (struct config_setting_t *conf, struct s_skill_db *sk);
+typedef void (*HPMHOOK_pre_skill_validate_max_sp_trigger) (struct config_setting_t **conf, struct s_skill_db **sk);
+typedef void (*HPMHOOK_post_skill_validate_max_sp_trigger) (struct config_setting_t *conf, struct s_skill_db *sk);
+typedef void (*HPMHOOK_pre_skill_validate_zeny_cost) (struct config_setting_t **conf, struct s_skill_db **sk);
+typedef void (*HPMHOOK_post_skill_validate_zeny_cost) (struct config_setting_t *conf, struct s_skill_db *sk);
+typedef int (*HPMHOOK_pre_skill_validate_weapontype_sub) (const char **type, bool *on, struct s_skill_db **sk);
+typedef int (*HPMHOOK_post_skill_validate_weapontype_sub) (int retVal___, const char *type, bool on, struct s_skill_db *sk);
typedef void (*HPMHOOK_pre_skill_validate_weapontype) (struct config_setting_t **conf, struct s_skill_db **sk);
typedef void (*HPMHOOK_post_skill_validate_weapontype) (struct config_setting_t *conf, struct s_skill_db *sk);
+typedef int (*HPMHOOK_pre_skill_validate_ammotype_sub) (const char **type, bool *on, struct s_skill_db **sk);
+typedef int (*HPMHOOK_post_skill_validate_ammotype_sub) (int retVal___, const char *type, bool on, struct s_skill_db *sk);
typedef void (*HPMHOOK_pre_skill_validate_ammotype) (struct config_setting_t **conf, struct s_skill_db **sk);
typedef void (*HPMHOOK_post_skill_validate_ammotype) (struct config_setting_t *conf, struct s_skill_db *sk);
+typedef void (*HPMHOOK_pre_skill_validate_ammo_amount) (struct config_setting_t **conf, struct s_skill_db **sk);
+typedef void (*HPMHOOK_post_skill_validate_ammo_amount) (struct config_setting_t *conf, struct s_skill_db *sk);
+typedef int (*HPMHOOK_pre_skill_validate_state_sub) (const char **state);
+typedef int (*HPMHOOK_post_skill_validate_state_sub) (int retVal___, const char *state);
typedef void (*HPMHOOK_pre_skill_validate_state) (struct config_setting_t **conf, struct s_skill_db **sk);
typedef void (*HPMHOOK_post_skill_validate_state) (struct config_setting_t *conf, struct s_skill_db *sk);
+typedef void (*HPMHOOK_pre_skill_validate_spirit_sphere_cost) (struct config_setting_t **conf, struct s_skill_db **sk);
+typedef void (*HPMHOOK_post_skill_validate_spirit_sphere_cost) (struct config_setting_t *conf, struct s_skill_db *sk);
+typedef void (*HPMHOOK_pre_skill_validate_item_requirements_sub_item_amount) (struct config_setting_t **conf, struct s_skill_db **sk, int *item_index);
+typedef void (*HPMHOOK_post_skill_validate_item_requirements_sub_item_amount) (struct config_setting_t *conf, struct s_skill_db *sk, int item_index);
+typedef void (*HPMHOOK_pre_skill_validate_item_requirements_sub_items) (struct config_setting_t **conf, struct s_skill_db **sk);
+typedef void (*HPMHOOK_post_skill_validate_item_requirements_sub_items) (struct config_setting_t *conf, struct s_skill_db *sk);
+typedef void (*HPMHOOK_pre_skill_validate_item_requirements_sub_any_flag) (struct config_setting_t **conf, struct s_skill_db **sk);
+typedef void (*HPMHOOK_post_skill_validate_item_requirements_sub_any_flag) (struct config_setting_t *conf, struct s_skill_db *sk);
typedef void (*HPMHOOK_pre_skill_validate_item_requirements) (struct config_setting_t **conf, struct s_skill_db **sk);
typedef void (*HPMHOOK_post_skill_validate_item_requirements) (struct config_setting_t *conf, struct s_skill_db *sk);
-typedef void (*HPMHOOK_pre_skill_validate_unit_target) (struct config_setting_t **conf, struct s_skill_db **sk);
-typedef void (*HPMHOOK_post_skill_validate_unit_target) (struct config_setting_t *conf, struct s_skill_db *sk);
+typedef void (*HPMHOOK_pre_skill_validate_equip_requirements_sub_item_amount) (struct config_setting_t **conf, struct s_skill_db **sk, int *item_index);
+typedef void (*HPMHOOK_post_skill_validate_equip_requirements_sub_item_amount) (struct config_setting_t *conf, struct s_skill_db *sk, int item_index);
+typedef void (*HPMHOOK_pre_skill_validate_equip_requirements_sub_items) (struct config_setting_t **conf, struct s_skill_db **sk);
+typedef void (*HPMHOOK_post_skill_validate_equip_requirements_sub_items) (struct config_setting_t *conf, struct s_skill_db *sk);
+typedef void (*HPMHOOK_pre_skill_validate_equip_requirements_sub_any_flag) (struct config_setting_t **conf, struct s_skill_db **sk);
+typedef void (*HPMHOOK_post_skill_validate_equip_requirements_sub_any_flag) (struct config_setting_t *conf, struct s_skill_db *sk);
+typedef void (*HPMHOOK_pre_skill_validate_equip_requirements) (struct config_setting_t **conf, struct s_skill_db **sk);
+typedef void (*HPMHOOK_post_skill_validate_equip_requirements) (struct config_setting_t *conf, struct s_skill_db *sk);
+typedef int (*HPMHOOK_pre_skill_validate_requirements_item_name) (const char **name);
+typedef int (*HPMHOOK_post_skill_validate_requirements_item_name) (int retVal___, const char *name);
+typedef void (*HPMHOOK_pre_skill_validate_requirements) (struct config_setting_t **conf, struct s_skill_db **sk);
+typedef void (*HPMHOOK_post_skill_validate_requirements) (struct config_setting_t *conf, struct s_skill_db *sk);
+typedef int (*HPMHOOK_pre_skill_validate_unit_id_sub) (int *unit_id);
+typedef int (*HPMHOOK_post_skill_validate_unit_id_sub) (int retVal___, int unit_id);
+typedef void (*HPMHOOK_pre_skill_validate_unit_id) (struct config_setting_t **conf, struct s_skill_db **sk);
+typedef void (*HPMHOOK_post_skill_validate_unit_id) (struct config_setting_t *conf, struct s_skill_db *sk);
+typedef void (*HPMHOOK_pre_skill_validate_unit_layout) (struct config_setting_t **conf, struct s_skill_db **sk);
+typedef void (*HPMHOOK_post_skill_validate_unit_layout) (struct config_setting_t *conf, struct s_skill_db *sk);
+typedef void (*HPMHOOK_pre_skill_validate_unit_range) (struct config_setting_t **conf, struct s_skill_db **sk);
+typedef void (*HPMHOOK_post_skill_validate_unit_range) (struct config_setting_t *conf, struct s_skill_db *sk);
+typedef void (*HPMHOOK_pre_skill_validate_unit_interval) (struct config_setting_t **conf, struct s_skill_db **sk);
+typedef void (*HPMHOOK_post_skill_validate_unit_interval) (struct config_setting_t *conf, struct s_skill_db *sk);
+typedef int (*HPMHOOK_pre_skill_validate_unit_flag_sub) (const char **type, bool *on, struct s_skill_db **sk);
+typedef int (*HPMHOOK_post_skill_validate_unit_flag_sub) (int retVal___, const char *type, bool on, struct s_skill_db *sk);
typedef void (*HPMHOOK_pre_skill_validate_unit_flag) (struct config_setting_t **conf, struct s_skill_db **sk);
typedef void (*HPMHOOK_post_skill_validate_unit_flag) (struct config_setting_t *conf, struct s_skill_db *sk);
+typedef int (*HPMHOOK_pre_skill_validate_unit_target_sub) (const char **target);
+typedef int (*HPMHOOK_post_skill_validate_unit_target_sub) (int retVal___, const char *target);
+typedef void (*HPMHOOK_pre_skill_validate_unit_target) (struct config_setting_t **conf, struct s_skill_db **sk);
+typedef void (*HPMHOOK_post_skill_validate_unit_target) (struct config_setting_t *conf, struct s_skill_db *sk);
+typedef void (*HPMHOOK_pre_skill_validate_unit) (struct config_setting_t **conf, struct s_skill_db **sk);
+typedef void (*HPMHOOK_post_skill_validate_unit) (struct config_setting_t *conf, struct s_skill_db *sk);
typedef void (*HPMHOOK_pre_skill_validate_additional_fields) (struct config_setting_t **conf, struct s_skill_db **sk);
typedef void (*HPMHOOK_post_skill_validate_additional_fields) (struct config_setting_t *conf, struct s_skill_db *sk);
-typedef int (*HPMHOOK_pre_skill_validate_weapontype_sub) (const char **type, bool *on, struct s_skill_db **sk);
-typedef int (*HPMHOOK_post_skill_validate_weapontype_sub) (int retVal___, const char *type, bool on, struct s_skill_db *sk);
-typedef int (*HPMHOOK_pre_skill_validate_ammotype_sub) (const char **type, bool *on, struct s_skill_db **sk);
-typedef int (*HPMHOOK_post_skill_validate_ammotype_sub) (int retVal___, const char *type, bool on, struct s_skill_db *sk);
-typedef int (*HPMHOOK_pre_skill_validate_unit_flag_sub) (const char **type, bool *on, struct s_skill_db **sk);
-typedef int (*HPMHOOK_post_skill_validate_unit_flag_sub) (int retVal___, const char *type, bool on, struct s_skill_db *sk);
typedef bool (*HPMHOOK_pre_skill_read_skilldb) (const char **filename);
typedef bool (*HPMHOOK_post_skill_read_skilldb) (bool retVal___, const char *filename);
typedef void (*HPMHOOK_pre_skill_config_set_level) (struct config_setting_t **conf, int **arr);
diff --git a/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc b/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc
index 77f4dc18c..60d8b7e20 100644
--- a/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc
+++ b/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc
@@ -5776,6 +5776,8 @@ struct {
struct HPMHookPoint *HP_skill_get_hp_post;
struct HPMHookPoint *HP_skill_get_mhp_pre;
struct HPMHookPoint *HP_skill_get_mhp_post;
+ struct HPMHookPoint *HP_skill_get_msp_pre;
+ struct HPMHookPoint *HP_skill_get_msp_post;
struct HPMHookPoint *HP_skill_get_sp_pre;
struct HPMHookPoint *HP_skill_get_sp_post;
struct HPMHookPoint *HP_skill_get_hp_rate_pre;
@@ -5790,6 +5792,14 @@ struct {
struct HPMHookPoint *HP_skill_get_itemid_post;
struct HPMHookPoint *HP_skill_get_itemqty_pre;
struct HPMHookPoint *HP_skill_get_itemqty_post;
+ struct HPMHookPoint *HP_skill_get_item_any_flag_pre;
+ struct HPMHookPoint *HP_skill_get_item_any_flag_post;
+ struct HPMHookPoint *HP_skill_get_equip_id_pre;
+ struct HPMHookPoint *HP_skill_get_equip_id_post;
+ struct HPMHookPoint *HP_skill_get_equip_amount_pre;
+ struct HPMHookPoint *HP_skill_get_equip_amount_post;
+ struct HPMHookPoint *HP_skill_get_equip_any_flag_pre;
+ struct HPMHookPoint *HP_skill_get_equip_any_flag_post;
struct HPMHookPoint *HP_skill_get_zeny_pre;
struct HPMHookPoint *HP_skill_get_zeny_post;
struct HPMHookPoint *HP_skill_get_num_pre;
@@ -5904,10 +5914,18 @@ struct {
struct HPMHookPoint *HP_skill_vf_cast_fix_post;
struct HPMHookPoint *HP_skill_delay_fix_pre;
struct HPMHookPoint *HP_skill_delay_fix_post;
+ struct HPMHookPoint *HP_skill_check_condition_required_equip_pre;
+ struct HPMHookPoint *HP_skill_check_condition_required_equip_post;
struct HPMHookPoint *HP_skill_check_condition_castbegin_pre;
struct HPMHookPoint *HP_skill_check_condition_castbegin_post;
+ struct HPMHookPoint *HP_skill_check_condition_required_items_pre;
+ struct HPMHookPoint *HP_skill_check_condition_required_items_post;
+ struct HPMHookPoint *HP_skill_items_required_pre;
+ struct HPMHookPoint *HP_skill_items_required_post;
struct HPMHookPoint *HP_skill_check_condition_castend_pre;
struct HPMHookPoint *HP_skill_check_condition_castend_post;
+ struct HPMHookPoint *HP_skill_get_any_item_index_pre;
+ struct HPMHookPoint *HP_skill_get_any_item_index_post;
struct HPMHookPoint *HP_skill_consume_requirement_pre;
struct HPMHookPoint *HP_skill_consume_requirement_post;
struct HPMHookPoint *HP_skill_get_requirement_pre;
@@ -6076,40 +6094,130 @@ struct {
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_id_pre;
+ struct HPMHookPoint *HP_skill_validate_id_post;
+ struct HPMHookPoint *HP_skill_name_contains_invalid_character_pre;
+ struct HPMHookPoint *HP_skill_name_contains_invalid_character_post;
+ struct HPMHookPoint *HP_skill_validate_name_pre;
+ struct HPMHookPoint *HP_skill_validate_name_post;
+ struct HPMHookPoint *HP_skill_validate_max_level_pre;
+ struct HPMHookPoint *HP_skill_validate_max_level_post;
+ struct HPMHookPoint *HP_skill_validate_description_pre;
+ struct HPMHookPoint *HP_skill_validate_description_post;
+ struct HPMHookPoint *HP_skill_validate_range_pre;
+ struct HPMHookPoint *HP_skill_validate_range_post;
struct HPMHookPoint *HP_skill_validate_hittype_pre;
struct HPMHookPoint *HP_skill_validate_hittype_post;
struct HPMHookPoint *HP_skill_validate_skilltype_pre;
struct HPMHookPoint *HP_skill_validate_skilltype_post;
+ struct HPMHookPoint *HP_skill_validate_skillinfo_pre;
+ struct HPMHookPoint *HP_skill_validate_skillinfo_post;
struct HPMHookPoint *HP_skill_validate_attacktype_pre;
struct HPMHookPoint *HP_skill_validate_attacktype_post;
struct HPMHookPoint *HP_skill_validate_element_pre;
struct HPMHookPoint *HP_skill_validate_element_post;
- struct HPMHookPoint *HP_skill_validate_skillinfo_pre;
- struct HPMHookPoint *HP_skill_validate_skillinfo_post;
struct HPMHookPoint *HP_skill_validate_damagetype_pre;
struct HPMHookPoint *HP_skill_validate_damagetype_post;
+ struct HPMHookPoint *HP_skill_validate_splash_range_pre;
+ struct HPMHookPoint *HP_skill_validate_splash_range_post;
+ struct HPMHookPoint *HP_skill_validate_number_of_hits_pre;
+ struct HPMHookPoint *HP_skill_validate_number_of_hits_post;
+ struct HPMHookPoint *HP_skill_validate_interrupt_cast_pre;
+ struct HPMHookPoint *HP_skill_validate_interrupt_cast_post;
+ struct HPMHookPoint *HP_skill_validate_cast_def_rate_pre;
+ struct HPMHookPoint *HP_skill_validate_cast_def_rate_post;
+ struct HPMHookPoint *HP_skill_validate_number_of_instances_pre;
+ struct HPMHookPoint *HP_skill_validate_number_of_instances_post;
+ struct HPMHookPoint *HP_skill_validate_knock_back_tiles_pre;
+ struct HPMHookPoint *HP_skill_validate_knock_back_tiles_post;
+ struct HPMHookPoint *HP_skill_validate_cast_time_pre;
+ struct HPMHookPoint *HP_skill_validate_cast_time_post;
+ struct HPMHookPoint *HP_skill_validate_act_delay_pre;
+ struct HPMHookPoint *HP_skill_validate_act_delay_post;
+ struct HPMHookPoint *HP_skill_validate_walk_delay_pre;
+ struct HPMHookPoint *HP_skill_validate_walk_delay_post;
+ struct HPMHookPoint *HP_skill_validate_skill_data1_pre;
+ struct HPMHookPoint *HP_skill_validate_skill_data1_post;
+ struct HPMHookPoint *HP_skill_validate_skill_data2_pre;
+ struct HPMHookPoint *HP_skill_validate_skill_data2_post;
+ struct HPMHookPoint *HP_skill_validate_cooldown_pre;
+ struct HPMHookPoint *HP_skill_validate_cooldown_post;
+ struct HPMHookPoint *HP_skill_validate_fixed_cast_time_pre;
+ struct HPMHookPoint *HP_skill_validate_fixed_cast_time_post;
struct HPMHookPoint *HP_skill_validate_castnodex_pre;
struct HPMHookPoint *HP_skill_validate_castnodex_post;
+ struct HPMHookPoint *HP_skill_validate_hp_cost_pre;
+ struct HPMHookPoint *HP_skill_validate_hp_cost_post;
+ struct HPMHookPoint *HP_skill_validate_sp_cost_pre;
+ struct HPMHookPoint *HP_skill_validate_sp_cost_post;
+ struct HPMHookPoint *HP_skill_validate_hp_rate_cost_pre;
+ struct HPMHookPoint *HP_skill_validate_hp_rate_cost_post;
+ struct HPMHookPoint *HP_skill_validate_sp_rate_cost_pre;
+ struct HPMHookPoint *HP_skill_validate_sp_rate_cost_post;
+ struct HPMHookPoint *HP_skill_validate_max_hp_trigger_pre;
+ struct HPMHookPoint *HP_skill_validate_max_hp_trigger_post;
+ struct HPMHookPoint *HP_skill_validate_max_sp_trigger_pre;
+ struct HPMHookPoint *HP_skill_validate_max_sp_trigger_post;
+ struct HPMHookPoint *HP_skill_validate_zeny_cost_pre;
+ struct HPMHookPoint *HP_skill_validate_zeny_cost_post;
+ struct HPMHookPoint *HP_skill_validate_weapontype_sub_pre;
+ struct HPMHookPoint *HP_skill_validate_weapontype_sub_post;
struct HPMHookPoint *HP_skill_validate_weapontype_pre;
struct HPMHookPoint *HP_skill_validate_weapontype_post;
+ struct HPMHookPoint *HP_skill_validate_ammotype_sub_pre;
+ struct HPMHookPoint *HP_skill_validate_ammotype_sub_post;
struct HPMHookPoint *HP_skill_validate_ammotype_pre;
struct HPMHookPoint *HP_skill_validate_ammotype_post;
+ struct HPMHookPoint *HP_skill_validate_ammo_amount_pre;
+ struct HPMHookPoint *HP_skill_validate_ammo_amount_post;
+ struct HPMHookPoint *HP_skill_validate_state_sub_pre;
+ struct HPMHookPoint *HP_skill_validate_state_sub_post;
struct HPMHookPoint *HP_skill_validate_state_pre;
struct HPMHookPoint *HP_skill_validate_state_post;
+ struct HPMHookPoint *HP_skill_validate_spirit_sphere_cost_pre;
+ struct HPMHookPoint *HP_skill_validate_spirit_sphere_cost_post;
+ struct HPMHookPoint *HP_skill_validate_item_requirements_sub_item_amount_pre;
+ struct HPMHookPoint *HP_skill_validate_item_requirements_sub_item_amount_post;
+ struct HPMHookPoint *HP_skill_validate_item_requirements_sub_items_pre;
+ struct HPMHookPoint *HP_skill_validate_item_requirements_sub_items_post;
+ struct HPMHookPoint *HP_skill_validate_item_requirements_sub_any_flag_pre;
+ struct HPMHookPoint *HP_skill_validate_item_requirements_sub_any_flag_post;
struct HPMHookPoint *HP_skill_validate_item_requirements_pre;
struct HPMHookPoint *HP_skill_validate_item_requirements_post;
- struct HPMHookPoint *HP_skill_validate_unit_target_pre;
- struct HPMHookPoint *HP_skill_validate_unit_target_post;
+ struct HPMHookPoint *HP_skill_validate_equip_requirements_sub_item_amount_pre;
+ struct HPMHookPoint *HP_skill_validate_equip_requirements_sub_item_amount_post;
+ struct HPMHookPoint *HP_skill_validate_equip_requirements_sub_items_pre;
+ struct HPMHookPoint *HP_skill_validate_equip_requirements_sub_items_post;
+ struct HPMHookPoint *HP_skill_validate_equip_requirements_sub_any_flag_pre;
+ struct HPMHookPoint *HP_skill_validate_equip_requirements_sub_any_flag_post;
+ struct HPMHookPoint *HP_skill_validate_equip_requirements_pre;
+ struct HPMHookPoint *HP_skill_validate_equip_requirements_post;
+ struct HPMHookPoint *HP_skill_validate_requirements_item_name_pre;
+ struct HPMHookPoint *HP_skill_validate_requirements_item_name_post;
+ struct HPMHookPoint *HP_skill_validate_requirements_pre;
+ struct HPMHookPoint *HP_skill_validate_requirements_post;
+ struct HPMHookPoint *HP_skill_validate_unit_id_sub_pre;
+ struct HPMHookPoint *HP_skill_validate_unit_id_sub_post;
+ struct HPMHookPoint *HP_skill_validate_unit_id_pre;
+ struct HPMHookPoint *HP_skill_validate_unit_id_post;
+ struct HPMHookPoint *HP_skill_validate_unit_layout_pre;
+ struct HPMHookPoint *HP_skill_validate_unit_layout_post;
+ struct HPMHookPoint *HP_skill_validate_unit_range_pre;
+ struct HPMHookPoint *HP_skill_validate_unit_range_post;
+ struct HPMHookPoint *HP_skill_validate_unit_interval_pre;
+ struct HPMHookPoint *HP_skill_validate_unit_interval_post;
+ struct HPMHookPoint *HP_skill_validate_unit_flag_sub_pre;
+ struct HPMHookPoint *HP_skill_validate_unit_flag_sub_post;
struct HPMHookPoint *HP_skill_validate_unit_flag_pre;
struct HPMHookPoint *HP_skill_validate_unit_flag_post;
+ struct HPMHookPoint *HP_skill_validate_unit_target_sub_pre;
+ struct HPMHookPoint *HP_skill_validate_unit_target_sub_post;
+ struct HPMHookPoint *HP_skill_validate_unit_target_pre;
+ struct HPMHookPoint *HP_skill_validate_unit_target_post;
+ struct HPMHookPoint *HP_skill_validate_unit_pre;
+ struct HPMHookPoint *HP_skill_validate_unit_post;
struct HPMHookPoint *HP_skill_validate_additional_fields_pre;
struct HPMHookPoint *HP_skill_validate_additional_fields_post;
- struct HPMHookPoint *HP_skill_validate_weapontype_sub_pre;
- struct HPMHookPoint *HP_skill_validate_weapontype_sub_post;
- struct HPMHookPoint *HP_skill_validate_ammotype_sub_pre;
- struct HPMHookPoint *HP_skill_validate_ammotype_sub_post;
- struct HPMHookPoint *HP_skill_validate_unit_flag_sub_pre;
- struct HPMHookPoint *HP_skill_validate_unit_flag_sub_post;
struct HPMHookPoint *HP_skill_read_skilldb_pre;
struct HPMHookPoint *HP_skill_read_skilldb_post;
struct HPMHookPoint *HP_skill_config_set_level_pre;
@@ -12699,6 +12807,8 @@ struct {
int HP_skill_get_hp_post;
int HP_skill_get_mhp_pre;
int HP_skill_get_mhp_post;
+ int HP_skill_get_msp_pre;
+ int HP_skill_get_msp_post;
int HP_skill_get_sp_pre;
int HP_skill_get_sp_post;
int HP_skill_get_hp_rate_pre;
@@ -12713,6 +12823,14 @@ struct {
int HP_skill_get_itemid_post;
int HP_skill_get_itemqty_pre;
int HP_skill_get_itemqty_post;
+ int HP_skill_get_item_any_flag_pre;
+ int HP_skill_get_item_any_flag_post;
+ int HP_skill_get_equip_id_pre;
+ int HP_skill_get_equip_id_post;
+ int HP_skill_get_equip_amount_pre;
+ int HP_skill_get_equip_amount_post;
+ int HP_skill_get_equip_any_flag_pre;
+ int HP_skill_get_equip_any_flag_post;
int HP_skill_get_zeny_pre;
int HP_skill_get_zeny_post;
int HP_skill_get_num_pre;
@@ -12827,10 +12945,18 @@ struct {
int HP_skill_vf_cast_fix_post;
int HP_skill_delay_fix_pre;
int HP_skill_delay_fix_post;
+ int HP_skill_check_condition_required_equip_pre;
+ int HP_skill_check_condition_required_equip_post;
int HP_skill_check_condition_castbegin_pre;
int HP_skill_check_condition_castbegin_post;
+ int HP_skill_check_condition_required_items_pre;
+ int HP_skill_check_condition_required_items_post;
+ int HP_skill_items_required_pre;
+ int HP_skill_items_required_post;
int HP_skill_check_condition_castend_pre;
int HP_skill_check_condition_castend_post;
+ int HP_skill_get_any_item_index_pre;
+ int HP_skill_get_any_item_index_post;
int HP_skill_consume_requirement_pre;
int HP_skill_consume_requirement_post;
int HP_skill_get_requirement_pre;
@@ -12999,40 +13125,130 @@ struct {
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_id_pre;
+ int HP_skill_validate_id_post;
+ int HP_skill_name_contains_invalid_character_pre;
+ int HP_skill_name_contains_invalid_character_post;
+ int HP_skill_validate_name_pre;
+ int HP_skill_validate_name_post;
+ int HP_skill_validate_max_level_pre;
+ int HP_skill_validate_max_level_post;
+ int HP_skill_validate_description_pre;
+ int HP_skill_validate_description_post;
+ int HP_skill_validate_range_pre;
+ int HP_skill_validate_range_post;
int HP_skill_validate_hittype_pre;
int HP_skill_validate_hittype_post;
int HP_skill_validate_skilltype_pre;
int HP_skill_validate_skilltype_post;
+ int HP_skill_validate_skillinfo_pre;
+ int HP_skill_validate_skillinfo_post;
int HP_skill_validate_attacktype_pre;
int HP_skill_validate_attacktype_post;
int HP_skill_validate_element_pre;
int HP_skill_validate_element_post;
- int HP_skill_validate_skillinfo_pre;
- int HP_skill_validate_skillinfo_post;
int HP_skill_validate_damagetype_pre;
int HP_skill_validate_damagetype_post;
+ int HP_skill_validate_splash_range_pre;
+ int HP_skill_validate_splash_range_post;
+ int HP_skill_validate_number_of_hits_pre;
+ int HP_skill_validate_number_of_hits_post;
+ int HP_skill_validate_interrupt_cast_pre;
+ int HP_skill_validate_interrupt_cast_post;
+ int HP_skill_validate_cast_def_rate_pre;
+ int HP_skill_validate_cast_def_rate_post;
+ int HP_skill_validate_number_of_instances_pre;
+ int HP_skill_validate_number_of_instances_post;
+ int HP_skill_validate_knock_back_tiles_pre;
+ int HP_skill_validate_knock_back_tiles_post;
+ int HP_skill_validate_cast_time_pre;
+ int HP_skill_validate_cast_time_post;
+ int HP_skill_validate_act_delay_pre;
+ int HP_skill_validate_act_delay_post;
+ int HP_skill_validate_walk_delay_pre;
+ int HP_skill_validate_walk_delay_post;
+ int HP_skill_validate_skill_data1_pre;
+ int HP_skill_validate_skill_data1_post;
+ int HP_skill_validate_skill_data2_pre;
+ int HP_skill_validate_skill_data2_post;
+ int HP_skill_validate_cooldown_pre;
+ int HP_skill_validate_cooldown_post;
+ int HP_skill_validate_fixed_cast_time_pre;
+ int HP_skill_validate_fixed_cast_time_post;
int HP_skill_validate_castnodex_pre;
int HP_skill_validate_castnodex_post;
+ int HP_skill_validate_hp_cost_pre;
+ int HP_skill_validate_hp_cost_post;
+ int HP_skill_validate_sp_cost_pre;
+ int HP_skill_validate_sp_cost_post;
+ int HP_skill_validate_hp_rate_cost_pre;
+ int HP_skill_validate_hp_rate_cost_post;
+ int HP_skill_validate_sp_rate_cost_pre;
+ int HP_skill_validate_sp_rate_cost_post;
+ int HP_skill_validate_max_hp_trigger_pre;
+ int HP_skill_validate_max_hp_trigger_post;
+ int HP_skill_validate_max_sp_trigger_pre;
+ int HP_skill_validate_max_sp_trigger_post;
+ int HP_skill_validate_zeny_cost_pre;
+ int HP_skill_validate_zeny_cost_post;
+ int HP_skill_validate_weapontype_sub_pre;
+ int HP_skill_validate_weapontype_sub_post;
int HP_skill_validate_weapontype_pre;
int HP_skill_validate_weapontype_post;
+ int HP_skill_validate_ammotype_sub_pre;
+ int HP_skill_validate_ammotype_sub_post;
int HP_skill_validate_ammotype_pre;
int HP_skill_validate_ammotype_post;
+ int HP_skill_validate_ammo_amount_pre;
+ int HP_skill_validate_ammo_amount_post;
+ int HP_skill_validate_state_sub_pre;
+ int HP_skill_validate_state_sub_post;
int HP_skill_validate_state_pre;
int HP_skill_validate_state_post;
+ int HP_skill_validate_spirit_sphere_cost_pre;
+ int HP_skill_validate_spirit_sphere_cost_post;
+ int HP_skill_validate_item_requirements_sub_item_amount_pre;
+ int HP_skill_validate_item_requirements_sub_item_amount_post;
+ int HP_skill_validate_item_requirements_sub_items_pre;
+ int HP_skill_validate_item_requirements_sub_items_post;
+ int HP_skill_validate_item_requirements_sub_any_flag_pre;
+ int HP_skill_validate_item_requirements_sub_any_flag_post;
int HP_skill_validate_item_requirements_pre;
int HP_skill_validate_item_requirements_post;
- int HP_skill_validate_unit_target_pre;
- int HP_skill_validate_unit_target_post;
+ int HP_skill_validate_equip_requirements_sub_item_amount_pre;
+ int HP_skill_validate_equip_requirements_sub_item_amount_post;
+ int HP_skill_validate_equip_requirements_sub_items_pre;
+ int HP_skill_validate_equip_requirements_sub_items_post;
+ int HP_skill_validate_equip_requirements_sub_any_flag_pre;
+ int HP_skill_validate_equip_requirements_sub_any_flag_post;
+ int HP_skill_validate_equip_requirements_pre;
+ int HP_skill_validate_equip_requirements_post;
+ int HP_skill_validate_requirements_item_name_pre;
+ int HP_skill_validate_requirements_item_name_post;
+ int HP_skill_validate_requirements_pre;
+ int HP_skill_validate_requirements_post;
+ int HP_skill_validate_unit_id_sub_pre;
+ int HP_skill_validate_unit_id_sub_post;
+ int HP_skill_validate_unit_id_pre;
+ int HP_skill_validate_unit_id_post;
+ int HP_skill_validate_unit_layout_pre;
+ int HP_skill_validate_unit_layout_post;
+ int HP_skill_validate_unit_range_pre;
+ int HP_skill_validate_unit_range_post;
+ int HP_skill_validate_unit_interval_pre;
+ int HP_skill_validate_unit_interval_post;
+ int HP_skill_validate_unit_flag_sub_pre;
+ int HP_skill_validate_unit_flag_sub_post;
int HP_skill_validate_unit_flag_pre;
int HP_skill_validate_unit_flag_post;
+ int HP_skill_validate_unit_target_sub_pre;
+ int HP_skill_validate_unit_target_sub_post;
+ int HP_skill_validate_unit_target_pre;
+ int HP_skill_validate_unit_target_post;
+ int HP_skill_validate_unit_pre;
+ int HP_skill_validate_unit_post;
int HP_skill_validate_additional_fields_pre;
int HP_skill_validate_additional_fields_post;
- int HP_skill_validate_weapontype_sub_pre;
- int HP_skill_validate_weapontype_sub_post;
- int HP_skill_validate_ammotype_sub_pre;
- int HP_skill_validate_ammotype_sub_post;
- int HP_skill_validate_unit_flag_sub_pre;
- int HP_skill_validate_unit_flag_sub_post;
int HP_skill_read_skilldb_pre;
int HP_skill_read_skilldb_post;
int HP_skill_config_set_level_pre;
diff --git a/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc b/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc
index 138c69de2..899f443d1 100644
--- a/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc
+++ b/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc
@@ -2957,6 +2957,7 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(skill->get_splash, HP_skill_get_splash) },
{ HP_POP(skill->get_hp, HP_skill_get_hp) },
{ HP_POP(skill->get_mhp, HP_skill_get_mhp) },
+ { HP_POP(skill->get_msp, HP_skill_get_msp) },
{ HP_POP(skill->get_sp, HP_skill_get_sp) },
{ HP_POP(skill->get_hp_rate, HP_skill_get_hp_rate) },
{ HP_POP(skill->get_sp_rate, HP_skill_get_sp_rate) },
@@ -2964,6 +2965,10 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(skill->get_spiritball, HP_skill_get_spiritball) },
{ HP_POP(skill->get_itemid, HP_skill_get_itemid) },
{ HP_POP(skill->get_itemqty, HP_skill_get_itemqty) },
+ { HP_POP(skill->get_item_any_flag, HP_skill_get_item_any_flag) },
+ { HP_POP(skill->get_equip_id, HP_skill_get_equip_id) },
+ { HP_POP(skill->get_equip_amount, HP_skill_get_equip_amount) },
+ { HP_POP(skill->get_equip_any_flag, HP_skill_get_equip_any_flag) },
{ HP_POP(skill->get_zeny, HP_skill_get_zeny) },
{ HP_POP(skill->get_num, HP_skill_get_num) },
{ HP_POP(skill->get_cast, HP_skill_get_cast) },
@@ -3021,8 +3026,12 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(skill->cast_fix_sc, HP_skill_cast_fix_sc) },
{ HP_POP(skill->vf_cast_fix, HP_skill_vf_cast_fix) },
{ HP_POP(skill->delay_fix, HP_skill_delay_fix) },
+ { HP_POP(skill->check_condition_required_equip, HP_skill_check_condition_required_equip) },
{ HP_POP(skill->check_condition_castbegin, HP_skill_check_condition_castbegin) },
+ { HP_POP(skill->check_condition_required_items, HP_skill_check_condition_required_items) },
+ { HP_POP(skill->items_required, HP_skill_items_required) },
{ HP_POP(skill->check_condition_castend, HP_skill_check_condition_castend) },
+ { HP_POP(skill->get_any_item_index, HP_skill_get_any_item_index) },
{ HP_POP(skill->consume_requirement, HP_skill_consume_requirement) },
{ HP_POP(skill->get_requirement, HP_skill_get_requirement) },
{ HP_POP(skill->check_pc_partner, HP_skill_check_pc_partner) },
@@ -3107,23 +3116,68 @@ struct HookingPointData HookingPoints[] = {
{ 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_id, HP_skill_validate_id) },
+ { HP_POP(skill->name_contains_invalid_character, HP_skill_name_contains_invalid_character) },
+ { HP_POP(skill->validate_name, HP_skill_validate_name) },
+ { HP_POP(skill->validate_max_level, HP_skill_validate_max_level) },
+ { HP_POP(skill->validate_description, HP_skill_validate_description) },
+ { HP_POP(skill->validate_range, HP_skill_validate_range) },
{ HP_POP(skill->validate_hittype, HP_skill_validate_hittype) },
{ HP_POP(skill->validate_skilltype, HP_skill_validate_skilltype) },
+ { HP_POP(skill->validate_skillinfo, HP_skill_validate_skillinfo) },
{ HP_POP(skill->validate_attacktype, HP_skill_validate_attacktype) },
{ HP_POP(skill->validate_element, HP_skill_validate_element) },
- { HP_POP(skill->validate_skillinfo, HP_skill_validate_skillinfo) },
{ HP_POP(skill->validate_damagetype, HP_skill_validate_damagetype) },
+ { HP_POP(skill->validate_splash_range, HP_skill_validate_splash_range) },
+ { HP_POP(skill->validate_number_of_hits, HP_skill_validate_number_of_hits) },
+ { HP_POP(skill->validate_interrupt_cast, HP_skill_validate_interrupt_cast) },
+ { HP_POP(skill->validate_cast_def_rate, HP_skill_validate_cast_def_rate) },
+ { HP_POP(skill->validate_number_of_instances, HP_skill_validate_number_of_instances) },
+ { HP_POP(skill->validate_knock_back_tiles, HP_skill_validate_knock_back_tiles) },
+ { HP_POP(skill->validate_cast_time, HP_skill_validate_cast_time) },
+ { HP_POP(skill->validate_act_delay, HP_skill_validate_act_delay) },
+ { HP_POP(skill->validate_walk_delay, HP_skill_validate_walk_delay) },
+ { HP_POP(skill->validate_skill_data1, HP_skill_validate_skill_data1) },
+ { HP_POP(skill->validate_skill_data2, HP_skill_validate_skill_data2) },
+ { HP_POP(skill->validate_cooldown, HP_skill_validate_cooldown) },
+ { HP_POP(skill->validate_fixed_cast_time, HP_skill_validate_fixed_cast_time) },
{ HP_POP(skill->validate_castnodex, HP_skill_validate_castnodex) },
+ { HP_POP(skill->validate_hp_cost, HP_skill_validate_hp_cost) },
+ { HP_POP(skill->validate_sp_cost, HP_skill_validate_sp_cost) },
+ { HP_POP(skill->validate_hp_rate_cost, HP_skill_validate_hp_rate_cost) },
+ { HP_POP(skill->validate_sp_rate_cost, HP_skill_validate_sp_rate_cost) },
+ { HP_POP(skill->validate_max_hp_trigger, HP_skill_validate_max_hp_trigger) },
+ { HP_POP(skill->validate_max_sp_trigger, HP_skill_validate_max_sp_trigger) },
+ { HP_POP(skill->validate_zeny_cost, HP_skill_validate_zeny_cost) },
+ { HP_POP(skill->validate_weapontype_sub, HP_skill_validate_weapontype_sub) },
{ HP_POP(skill->validate_weapontype, HP_skill_validate_weapontype) },
+ { HP_POP(skill->validate_ammotype_sub, HP_skill_validate_ammotype_sub) },
{ HP_POP(skill->validate_ammotype, HP_skill_validate_ammotype) },
+ { HP_POP(skill->validate_ammo_amount, HP_skill_validate_ammo_amount) },
+ { HP_POP(skill->validate_state_sub, HP_skill_validate_state_sub) },
{ HP_POP(skill->validate_state, HP_skill_validate_state) },
+ { HP_POP(skill->validate_spirit_sphere_cost, HP_skill_validate_spirit_sphere_cost) },
+ { HP_POP(skill->validate_item_requirements_sub_item_amount, HP_skill_validate_item_requirements_sub_item_amount) },
+ { HP_POP(skill->validate_item_requirements_sub_items, HP_skill_validate_item_requirements_sub_items) },
+ { HP_POP(skill->validate_item_requirements_sub_any_flag, HP_skill_validate_item_requirements_sub_any_flag) },
{ HP_POP(skill->validate_item_requirements, HP_skill_validate_item_requirements) },
- { HP_POP(skill->validate_unit_target, HP_skill_validate_unit_target) },
+ { HP_POP(skill->validate_equip_requirements_sub_item_amount, HP_skill_validate_equip_requirements_sub_item_amount) },
+ { HP_POP(skill->validate_equip_requirements_sub_items, HP_skill_validate_equip_requirements_sub_items) },
+ { HP_POP(skill->validate_equip_requirements_sub_any_flag, HP_skill_validate_equip_requirements_sub_any_flag) },
+ { HP_POP(skill->validate_equip_requirements, HP_skill_validate_equip_requirements) },
+ { HP_POP(skill->validate_requirements_item_name, HP_skill_validate_requirements_item_name) },
+ { HP_POP(skill->validate_requirements, HP_skill_validate_requirements) },
+ { HP_POP(skill->validate_unit_id_sub, HP_skill_validate_unit_id_sub) },
+ { HP_POP(skill->validate_unit_id, HP_skill_validate_unit_id) },
+ { HP_POP(skill->validate_unit_layout, HP_skill_validate_unit_layout) },
+ { HP_POP(skill->validate_unit_range, HP_skill_validate_unit_range) },
+ { HP_POP(skill->validate_unit_interval, HP_skill_validate_unit_interval) },
+ { HP_POP(skill->validate_unit_flag_sub, HP_skill_validate_unit_flag_sub) },
{ HP_POP(skill->validate_unit_flag, HP_skill_validate_unit_flag) },
+ { HP_POP(skill->validate_unit_target_sub, HP_skill_validate_unit_target_sub) },
+ { HP_POP(skill->validate_unit_target, HP_skill_validate_unit_target) },
+ { HP_POP(skill->validate_unit, HP_skill_validate_unit) },
{ HP_POP(skill->validate_additional_fields, HP_skill_validate_additional_fields) },
- { HP_POP(skill->validate_weapontype_sub, HP_skill_validate_weapontype_sub) },
- { HP_POP(skill->validate_ammotype_sub, HP_skill_validate_ammotype_sub) },
- { HP_POP(skill->validate_unit_flag_sub, HP_skill_validate_unit_flag_sub) },
{ HP_POP(skill->read_skilldb, HP_skill_read_skilldb) },
{ HP_POP(skill->config_set_level, HP_skill_config_set_level) },
{ HP_POP(skill->level_set_value, HP_skill_level_set_value) },
@@ -3558,4 +3612,4 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(vending->searchall, HP_vending_searchall) },
};
-int HookingPointsLenMax = 49;
+int HookingPointsLenMax = 50;
diff --git a/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc b/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc
index 1cea69e4a..f6f1b3839 100644
--- a/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc
+++ b/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc
@@ -77066,6 +77066,33 @@ int HP_skill_get_mhp(int skill_id, int skill_lv) {
}
return retVal___;
}
+int HP_skill_get_msp(int skill_id, int skill_lv) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_skill_get_msp_pre > 0) {
+ int (*preHookFunc) (int *skill_id, int *skill_lv);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_get_msp_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_skill_get_msp_pre[hIndex].func;
+ retVal___ = preHookFunc(&skill_id, &skill_lv);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.skill.get_msp(skill_id, skill_lv);
+ }
+ if (HPMHooks.count.HP_skill_get_msp_post > 0) {
+ int (*postHookFunc) (int retVal___, int skill_id, int skill_lv);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_get_msp_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_skill_get_msp_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, skill_id, skill_lv);
+ }
+ }
+ return retVal___;
+}
int HP_skill_get_sp(int skill_id, int skill_lv) {
int hIndex = 0;
int retVal___ = 0;
@@ -77255,6 +77282,114 @@ int HP_skill_get_itemqty(int skill_id, int item_idx, int skill_lv) {
}
return retVal___;
}
+bool HP_skill_get_item_any_flag(int skill_id, int skill_lv) {
+ int hIndex = 0;
+ bool retVal___ = false;
+ if (HPMHooks.count.HP_skill_get_item_any_flag_pre > 0) {
+ bool (*preHookFunc) (int *skill_id, int *skill_lv);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_get_item_any_flag_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_skill_get_item_any_flag_pre[hIndex].func;
+ retVal___ = preHookFunc(&skill_id, &skill_lv);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.skill.get_item_any_flag(skill_id, skill_lv);
+ }
+ if (HPMHooks.count.HP_skill_get_item_any_flag_post > 0) {
+ bool (*postHookFunc) (bool retVal___, int skill_id, int skill_lv);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_get_item_any_flag_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_skill_get_item_any_flag_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, skill_id, skill_lv);
+ }
+ }
+ return retVal___;
+}
+int HP_skill_get_equip_id(int skill_id, int item_idx) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_skill_get_equip_id_pre > 0) {
+ int (*preHookFunc) (int *skill_id, int *item_idx);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_get_equip_id_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_skill_get_equip_id_pre[hIndex].func;
+ retVal___ = preHookFunc(&skill_id, &item_idx);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.skill.get_equip_id(skill_id, item_idx);
+ }
+ if (HPMHooks.count.HP_skill_get_equip_id_post > 0) {
+ int (*postHookFunc) (int retVal___, int skill_id, int item_idx);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_get_equip_id_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_skill_get_equip_id_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, skill_id, item_idx);
+ }
+ }
+ return retVal___;
+}
+int HP_skill_get_equip_amount(int skill_id, int item_idx, int skill_lv) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_skill_get_equip_amount_pre > 0) {
+ int (*preHookFunc) (int *skill_id, int *item_idx, int *skill_lv);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_get_equip_amount_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_skill_get_equip_amount_pre[hIndex].func;
+ retVal___ = preHookFunc(&skill_id, &item_idx, &skill_lv);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.skill.get_equip_amount(skill_id, item_idx, skill_lv);
+ }
+ if (HPMHooks.count.HP_skill_get_equip_amount_post > 0) {
+ int (*postHookFunc) (int retVal___, int skill_id, int item_idx, int skill_lv);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_get_equip_amount_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_skill_get_equip_amount_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, skill_id, item_idx, skill_lv);
+ }
+ }
+ return retVal___;
+}
+bool HP_skill_get_equip_any_flag(int skill_id, int skill_lv) {
+ int hIndex = 0;
+ bool retVal___ = false;
+ if (HPMHooks.count.HP_skill_get_equip_any_flag_pre > 0) {
+ bool (*preHookFunc) (int *skill_id, int *skill_lv);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_get_equip_any_flag_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_skill_get_equip_any_flag_pre[hIndex].func;
+ retVal___ = preHookFunc(&skill_id, &skill_lv);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.skill.get_equip_any_flag(skill_id, skill_lv);
+ }
+ if (HPMHooks.count.HP_skill_get_equip_any_flag_post > 0) {
+ bool (*postHookFunc) (bool retVal___, int skill_id, int skill_lv);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_get_equip_any_flag_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_skill_get_equip_any_flag_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, skill_id, skill_lv);
+ }
+ }
+ return retVal___;
+}
int HP_skill_get_zeny(int skill_id, int skill_lv) {
int hIndex = 0;
int retVal___ = 0;
@@ -78794,6 +78929,33 @@ int HP_skill_delay_fix(struct block_list *bl, uint16 skill_id, uint16 skill_lv)
}
return retVal___;
}
+int HP_skill_check_condition_required_equip(struct map_session_data *sd, int skill_id, int skill_lv) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_skill_check_condition_required_equip_pre > 0) {
+ int (*preHookFunc) (struct map_session_data **sd, int *skill_id, int *skill_lv);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_check_condition_required_equip_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_skill_check_condition_required_equip_pre[hIndex].func;
+ retVal___ = preHookFunc(&sd, &skill_id, &skill_lv);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.skill.check_condition_required_equip(sd, skill_id, skill_lv);
+ }
+ if (HPMHooks.count.HP_skill_check_condition_required_equip_post > 0) {
+ int (*postHookFunc) (int retVal___, struct map_session_data *sd, int skill_id, int skill_lv);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_check_condition_required_equip_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_skill_check_condition_required_equip_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, sd, skill_id, skill_lv);
+ }
+ }
+ return retVal___;
+}
int HP_skill_check_condition_castbegin(struct map_session_data *sd, uint16 skill_id, uint16 skill_lv) {
int hIndex = 0;
int retVal___ = 0;
@@ -78821,6 +78983,60 @@ int HP_skill_check_condition_castbegin(struct map_session_data *sd, uint16 skill
}
return retVal___;
}
+int HP_skill_check_condition_required_items(struct map_session_data *sd, int skill_id, int skill_lv) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_skill_check_condition_required_items_pre > 0) {
+ int (*preHookFunc) (struct map_session_data **sd, int *skill_id, int *skill_lv);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_check_condition_required_items_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_skill_check_condition_required_items_pre[hIndex].func;
+ retVal___ = preHookFunc(&sd, &skill_id, &skill_lv);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.skill.check_condition_required_items(sd, skill_id, skill_lv);
+ }
+ if (HPMHooks.count.HP_skill_check_condition_required_items_post > 0) {
+ int (*postHookFunc) (int retVal___, struct map_session_data *sd, int skill_id, int skill_lv);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_check_condition_required_items_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_skill_check_condition_required_items_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, sd, skill_id, skill_lv);
+ }
+ }
+ return retVal___;
+}
+bool HP_skill_items_required(struct map_session_data *sd, int skill_id, int skill_lv) {
+ int hIndex = 0;
+ bool retVal___ = false;
+ if (HPMHooks.count.HP_skill_items_required_pre > 0) {
+ bool (*preHookFunc) (struct map_session_data **sd, int *skill_id, int *skill_lv);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_items_required_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_skill_items_required_pre[hIndex].func;
+ retVal___ = preHookFunc(&sd, &skill_id, &skill_lv);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.skill.items_required(sd, skill_id, skill_lv);
+ }
+ if (HPMHooks.count.HP_skill_items_required_post > 0) {
+ bool (*postHookFunc) (bool retVal___, struct map_session_data *sd, int skill_id, int skill_lv);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_items_required_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_skill_items_required_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, sd, skill_id, skill_lv);
+ }
+ }
+ return retVal___;
+}
int HP_skill_check_condition_castend(struct map_session_data *sd, uint16 skill_id, uint16 skill_lv) {
int hIndex = 0;
int retVal___ = 0;
@@ -78848,6 +79064,33 @@ int HP_skill_check_condition_castend(struct map_session_data *sd, uint16 skill_i
}
return retVal___;
}
+int HP_skill_get_any_item_index(struct map_session_data *sd, int skill_id, int skill_lv) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_skill_get_any_item_index_pre > 0) {
+ int (*preHookFunc) (struct map_session_data **sd, int *skill_id, int *skill_lv);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_get_any_item_index_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_skill_get_any_item_index_pre[hIndex].func;
+ retVal___ = preHookFunc(&sd, &skill_id, &skill_lv);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.skill.get_any_item_index(sd, skill_id, skill_lv);
+ }
+ if (HPMHooks.count.HP_skill_get_any_item_index_post > 0) {
+ int (*postHookFunc) (int retVal___, struct map_session_data *sd, int skill_id, int skill_lv);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_get_any_item_index_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_skill_get_any_item_index_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, sd, skill_id, skill_lv);
+ }
+ }
+ return retVal___;
+}
int HP_skill_consume_requirement(struct map_session_data *sd, uint16 skill_id, uint16 skill_lv, short type) {
int hIndex = 0;
int retVal___ = 0;
@@ -81240,6 +81483,163 @@ void HP_skill_init_unit_layout_unknown(int skill_idx, int pos) {
}
return;
}
+void HP_skill_validate_id(struct config_setting_t *conf, struct s_skill_db *sk, int conf_index) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_skill_validate_id_pre > 0) {
+ void (*preHookFunc) (struct config_setting_t **conf, struct s_skill_db **sk, int *conf_index);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_id_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_skill_validate_id_pre[hIndex].func;
+ preHookFunc(&conf, &sk, &conf_index);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.skill.validate_id(conf, sk, conf_index);
+ }
+ if (HPMHooks.count.HP_skill_validate_id_post > 0) {
+ void (*postHookFunc) (struct config_setting_t *conf, struct s_skill_db *sk, int conf_index);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_id_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_skill_validate_id_post[hIndex].func;
+ postHookFunc(conf, sk, conf_index);
+ }
+ }
+ return;
+}
+bool HP_skill_name_contains_invalid_character(const char *name) {
+ int hIndex = 0;
+ bool retVal___ = false;
+ if (HPMHooks.count.HP_skill_name_contains_invalid_character_pre > 0) {
+ bool (*preHookFunc) (const char **name);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_name_contains_invalid_character_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_skill_name_contains_invalid_character_pre[hIndex].func;
+ retVal___ = preHookFunc(&name);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.skill.name_contains_invalid_character(name);
+ }
+ if (HPMHooks.count.HP_skill_name_contains_invalid_character_post > 0) {
+ bool (*postHookFunc) (bool retVal___, const char *name);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_name_contains_invalid_character_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_skill_name_contains_invalid_character_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, name);
+ }
+ }
+ return retVal___;
+}
+void HP_skill_validate_name(struct config_setting_t *conf, struct s_skill_db *sk) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_skill_validate_name_pre > 0) {
+ void (*preHookFunc) (struct config_setting_t **conf, struct s_skill_db **sk);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_name_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_skill_validate_name_pre[hIndex].func;
+ preHookFunc(&conf, &sk);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.skill.validate_name(conf, sk);
+ }
+ if (HPMHooks.count.HP_skill_validate_name_post > 0) {
+ void (*postHookFunc) (struct config_setting_t *conf, struct s_skill_db *sk);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_name_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_skill_validate_name_post[hIndex].func;
+ postHookFunc(conf, sk);
+ }
+ }
+ return;
+}
+void HP_skill_validate_max_level(struct config_setting_t *conf, struct s_skill_db *sk) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_skill_validate_max_level_pre > 0) {
+ void (*preHookFunc) (struct config_setting_t **conf, struct s_skill_db **sk);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_max_level_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_skill_validate_max_level_pre[hIndex].func;
+ preHookFunc(&conf, &sk);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.skill.validate_max_level(conf, sk);
+ }
+ if (HPMHooks.count.HP_skill_validate_max_level_post > 0) {
+ void (*postHookFunc) (struct config_setting_t *conf, struct s_skill_db *sk);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_max_level_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_skill_validate_max_level_post[hIndex].func;
+ postHookFunc(conf, sk);
+ }
+ }
+ return;
+}
+void HP_skill_validate_description(struct config_setting_t *conf, struct s_skill_db *sk) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_skill_validate_description_pre > 0) {
+ void (*preHookFunc) (struct config_setting_t **conf, struct s_skill_db **sk);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_description_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_skill_validate_description_pre[hIndex].func;
+ preHookFunc(&conf, &sk);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.skill.validate_description(conf, sk);
+ }
+ if (HPMHooks.count.HP_skill_validate_description_post > 0) {
+ void (*postHookFunc) (struct config_setting_t *conf, struct s_skill_db *sk);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_description_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_skill_validate_description_post[hIndex].func;
+ postHookFunc(conf, sk);
+ }
+ }
+ return;
+}
+void HP_skill_validate_range(struct config_setting_t *conf, struct s_skill_db *sk) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_skill_validate_range_pre > 0) {
+ void (*preHookFunc) (struct config_setting_t **conf, struct s_skill_db **sk);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_range_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_skill_validate_range_pre[hIndex].func;
+ preHookFunc(&conf, &sk);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.skill.validate_range(conf, sk);
+ }
+ if (HPMHooks.count.HP_skill_validate_range_post > 0) {
+ void (*postHookFunc) (struct config_setting_t *conf, struct s_skill_db *sk);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_range_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_skill_validate_range_post[hIndex].func;
+ postHookFunc(conf, sk);
+ }
+ }
+ 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 > 0) {
@@ -81292,6 +81692,32 @@ void HP_skill_validate_skilltype(struct config_setting_t *conf, struct s_skill_d
}
return;
}
+void HP_skill_validate_skillinfo(struct config_setting_t *conf, struct s_skill_db *sk) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_skill_validate_skillinfo_pre > 0) {
+ void (*preHookFunc) (struct config_setting_t **conf, struct s_skill_db **sk);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_skillinfo_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_skill_validate_skillinfo_pre[hIndex].func;
+ preHookFunc(&conf, &sk);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.skill.validate_skillinfo(conf, sk);
+ }
+ if (HPMHooks.count.HP_skill_validate_skillinfo_post > 0) {
+ void (*postHookFunc) (struct config_setting_t *conf, struct s_skill_db *sk);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_skillinfo_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_skill_validate_skillinfo_post[hIndex].func;
+ postHookFunc(conf, sk);
+ }
+ }
+ return;
+}
void HP_skill_validate_attacktype(struct config_setting_t *conf, struct s_skill_db *sk) {
int hIndex = 0;
if (HPMHooks.count.HP_skill_validate_attacktype_pre > 0) {
@@ -81344,13 +81770,13 @@ void HP_skill_validate_element(struct config_setting_t *conf, struct s_skill_db
}
return;
}
-void HP_skill_validate_skillinfo(struct config_setting_t *conf, struct s_skill_db *sk) {
+void HP_skill_validate_damagetype(struct config_setting_t *conf, struct s_skill_db *sk) {
int hIndex = 0;
- if (HPMHooks.count.HP_skill_validate_skillinfo_pre > 0) {
+ if (HPMHooks.count.HP_skill_validate_damagetype_pre > 0) {
void (*preHookFunc) (struct config_setting_t **conf, struct s_skill_db **sk);
*HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_skillinfo_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_skill_validate_skillinfo_pre[hIndex].func;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_damagetype_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_skill_validate_damagetype_pre[hIndex].func;
preHookFunc(&conf, &sk);
}
if (*HPMforce_return) {
@@ -81359,24 +81785,24 @@ void HP_skill_validate_skillinfo(struct config_setting_t *conf, struct s_skill_d
}
}
{
- HPMHooks.source.skill.validate_skillinfo(conf, sk);
+ HPMHooks.source.skill.validate_damagetype(conf, sk);
}
- if (HPMHooks.count.HP_skill_validate_skillinfo_post > 0) {
+ if (HPMHooks.count.HP_skill_validate_damagetype_post > 0) {
void (*postHookFunc) (struct config_setting_t *conf, struct s_skill_db *sk);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_skillinfo_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_skill_validate_skillinfo_post[hIndex].func;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_damagetype_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_skill_validate_damagetype_post[hIndex].func;
postHookFunc(conf, sk);
}
}
return;
}
-void HP_skill_validate_damagetype(struct config_setting_t *conf, struct s_skill_db *sk) {
+void HP_skill_validate_splash_range(struct config_setting_t *conf, struct s_skill_db *sk) {
int hIndex = 0;
- if (HPMHooks.count.HP_skill_validate_damagetype_pre > 0) {
+ if (HPMHooks.count.HP_skill_validate_splash_range_pre > 0) {
void (*preHookFunc) (struct config_setting_t **conf, struct s_skill_db **sk);
*HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_damagetype_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_skill_validate_damagetype_pre[hIndex].func;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_splash_range_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_skill_validate_splash_range_pre[hIndex].func;
preHookFunc(&conf, &sk);
}
if (*HPMforce_return) {
@@ -81385,12 +81811,324 @@ void HP_skill_validate_damagetype(struct config_setting_t *conf, struct s_skill_
}
}
{
- HPMHooks.source.skill.validate_damagetype(conf, sk);
+ HPMHooks.source.skill.validate_splash_range(conf, sk);
}
- if (HPMHooks.count.HP_skill_validate_damagetype_post > 0) {
+ if (HPMHooks.count.HP_skill_validate_splash_range_post > 0) {
void (*postHookFunc) (struct config_setting_t *conf, struct s_skill_db *sk);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_damagetype_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_skill_validate_damagetype_post[hIndex].func;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_splash_range_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_skill_validate_splash_range_post[hIndex].func;
+ postHookFunc(conf, sk);
+ }
+ }
+ return;
+}
+void HP_skill_validate_number_of_hits(struct config_setting_t *conf, struct s_skill_db *sk) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_skill_validate_number_of_hits_pre > 0) {
+ void (*preHookFunc) (struct config_setting_t **conf, struct s_skill_db **sk);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_number_of_hits_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_skill_validate_number_of_hits_pre[hIndex].func;
+ preHookFunc(&conf, &sk);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.skill.validate_number_of_hits(conf, sk);
+ }
+ if (HPMHooks.count.HP_skill_validate_number_of_hits_post > 0) {
+ void (*postHookFunc) (struct config_setting_t *conf, struct s_skill_db *sk);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_number_of_hits_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_skill_validate_number_of_hits_post[hIndex].func;
+ postHookFunc(conf, sk);
+ }
+ }
+ return;
+}
+void HP_skill_validate_interrupt_cast(struct config_setting_t *conf, struct s_skill_db *sk) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_skill_validate_interrupt_cast_pre > 0) {
+ void (*preHookFunc) (struct config_setting_t **conf, struct s_skill_db **sk);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_interrupt_cast_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_skill_validate_interrupt_cast_pre[hIndex].func;
+ preHookFunc(&conf, &sk);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.skill.validate_interrupt_cast(conf, sk);
+ }
+ if (HPMHooks.count.HP_skill_validate_interrupt_cast_post > 0) {
+ void (*postHookFunc) (struct config_setting_t *conf, struct s_skill_db *sk);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_interrupt_cast_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_skill_validate_interrupt_cast_post[hIndex].func;
+ postHookFunc(conf, sk);
+ }
+ }
+ return;
+}
+void HP_skill_validate_cast_def_rate(struct config_setting_t *conf, struct s_skill_db *sk) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_skill_validate_cast_def_rate_pre > 0) {
+ void (*preHookFunc) (struct config_setting_t **conf, struct s_skill_db **sk);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_cast_def_rate_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_skill_validate_cast_def_rate_pre[hIndex].func;
+ preHookFunc(&conf, &sk);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.skill.validate_cast_def_rate(conf, sk);
+ }
+ if (HPMHooks.count.HP_skill_validate_cast_def_rate_post > 0) {
+ void (*postHookFunc) (struct config_setting_t *conf, struct s_skill_db *sk);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_cast_def_rate_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_skill_validate_cast_def_rate_post[hIndex].func;
+ postHookFunc(conf, sk);
+ }
+ }
+ return;
+}
+void HP_skill_validate_number_of_instances(struct config_setting_t *conf, struct s_skill_db *sk) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_skill_validate_number_of_instances_pre > 0) {
+ void (*preHookFunc) (struct config_setting_t **conf, struct s_skill_db **sk);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_number_of_instances_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_skill_validate_number_of_instances_pre[hIndex].func;
+ preHookFunc(&conf, &sk);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.skill.validate_number_of_instances(conf, sk);
+ }
+ if (HPMHooks.count.HP_skill_validate_number_of_instances_post > 0) {
+ void (*postHookFunc) (struct config_setting_t *conf, struct s_skill_db *sk);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_number_of_instances_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_skill_validate_number_of_instances_post[hIndex].func;
+ postHookFunc(conf, sk);
+ }
+ }
+ return;
+}
+void HP_skill_validate_knock_back_tiles(struct config_setting_t *conf, struct s_skill_db *sk) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_skill_validate_knock_back_tiles_pre > 0) {
+ void (*preHookFunc) (struct config_setting_t **conf, struct s_skill_db **sk);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_knock_back_tiles_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_skill_validate_knock_back_tiles_pre[hIndex].func;
+ preHookFunc(&conf, &sk);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.skill.validate_knock_back_tiles(conf, sk);
+ }
+ if (HPMHooks.count.HP_skill_validate_knock_back_tiles_post > 0) {
+ void (*postHookFunc) (struct config_setting_t *conf, struct s_skill_db *sk);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_knock_back_tiles_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_skill_validate_knock_back_tiles_post[hIndex].func;
+ postHookFunc(conf, sk);
+ }
+ }
+ return;
+}
+void HP_skill_validate_cast_time(struct config_setting_t *conf, struct s_skill_db *sk) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_skill_validate_cast_time_pre > 0) {
+ void (*preHookFunc) (struct config_setting_t **conf, struct s_skill_db **sk);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_cast_time_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_skill_validate_cast_time_pre[hIndex].func;
+ preHookFunc(&conf, &sk);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.skill.validate_cast_time(conf, sk);
+ }
+ if (HPMHooks.count.HP_skill_validate_cast_time_post > 0) {
+ void (*postHookFunc) (struct config_setting_t *conf, struct s_skill_db *sk);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_cast_time_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_skill_validate_cast_time_post[hIndex].func;
+ postHookFunc(conf, sk);
+ }
+ }
+ return;
+}
+void HP_skill_validate_act_delay(struct config_setting_t *conf, struct s_skill_db *sk) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_skill_validate_act_delay_pre > 0) {
+ void (*preHookFunc) (struct config_setting_t **conf, struct s_skill_db **sk);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_act_delay_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_skill_validate_act_delay_pre[hIndex].func;
+ preHookFunc(&conf, &sk);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.skill.validate_act_delay(conf, sk);
+ }
+ if (HPMHooks.count.HP_skill_validate_act_delay_post > 0) {
+ void (*postHookFunc) (struct config_setting_t *conf, struct s_skill_db *sk);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_act_delay_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_skill_validate_act_delay_post[hIndex].func;
+ postHookFunc(conf, sk);
+ }
+ }
+ return;
+}
+void HP_skill_validate_walk_delay(struct config_setting_t *conf, struct s_skill_db *sk) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_skill_validate_walk_delay_pre > 0) {
+ void (*preHookFunc) (struct config_setting_t **conf, struct s_skill_db **sk);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_walk_delay_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_skill_validate_walk_delay_pre[hIndex].func;
+ preHookFunc(&conf, &sk);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.skill.validate_walk_delay(conf, sk);
+ }
+ if (HPMHooks.count.HP_skill_validate_walk_delay_post > 0) {
+ void (*postHookFunc) (struct config_setting_t *conf, struct s_skill_db *sk);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_walk_delay_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_skill_validate_walk_delay_post[hIndex].func;
+ postHookFunc(conf, sk);
+ }
+ }
+ return;
+}
+void HP_skill_validate_skill_data1(struct config_setting_t *conf, struct s_skill_db *sk) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_skill_validate_skill_data1_pre > 0) {
+ void (*preHookFunc) (struct config_setting_t **conf, struct s_skill_db **sk);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_skill_data1_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_skill_validate_skill_data1_pre[hIndex].func;
+ preHookFunc(&conf, &sk);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.skill.validate_skill_data1(conf, sk);
+ }
+ if (HPMHooks.count.HP_skill_validate_skill_data1_post > 0) {
+ void (*postHookFunc) (struct config_setting_t *conf, struct s_skill_db *sk);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_skill_data1_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_skill_validate_skill_data1_post[hIndex].func;
+ postHookFunc(conf, sk);
+ }
+ }
+ return;
+}
+void HP_skill_validate_skill_data2(struct config_setting_t *conf, struct s_skill_db *sk) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_skill_validate_skill_data2_pre > 0) {
+ void (*preHookFunc) (struct config_setting_t **conf, struct s_skill_db **sk);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_skill_data2_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_skill_validate_skill_data2_pre[hIndex].func;
+ preHookFunc(&conf, &sk);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.skill.validate_skill_data2(conf, sk);
+ }
+ if (HPMHooks.count.HP_skill_validate_skill_data2_post > 0) {
+ void (*postHookFunc) (struct config_setting_t *conf, struct s_skill_db *sk);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_skill_data2_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_skill_validate_skill_data2_post[hIndex].func;
+ postHookFunc(conf, sk);
+ }
+ }
+ return;
+}
+void HP_skill_validate_cooldown(struct config_setting_t *conf, struct s_skill_db *sk) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_skill_validate_cooldown_pre > 0) {
+ void (*preHookFunc) (struct config_setting_t **conf, struct s_skill_db **sk);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_cooldown_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_skill_validate_cooldown_pre[hIndex].func;
+ preHookFunc(&conf, &sk);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.skill.validate_cooldown(conf, sk);
+ }
+ if (HPMHooks.count.HP_skill_validate_cooldown_post > 0) {
+ void (*postHookFunc) (struct config_setting_t *conf, struct s_skill_db *sk);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_cooldown_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_skill_validate_cooldown_post[hIndex].func;
+ postHookFunc(conf, sk);
+ }
+ }
+ return;
+}
+void HP_skill_validate_fixed_cast_time(struct config_setting_t *conf, struct s_skill_db *sk) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_skill_validate_fixed_cast_time_pre > 0) {
+ void (*preHookFunc) (struct config_setting_t **conf, struct s_skill_db **sk);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_fixed_cast_time_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_skill_validate_fixed_cast_time_pre[hIndex].func;
+ preHookFunc(&conf, &sk);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.skill.validate_fixed_cast_time(conf, sk);
+ }
+ if (HPMHooks.count.HP_skill_validate_fixed_cast_time_post > 0) {
+ void (*postHookFunc) (struct config_setting_t *conf, struct s_skill_db *sk);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_fixed_cast_time_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_skill_validate_fixed_cast_time_post[hIndex].func;
postHookFunc(conf, sk);
}
}
@@ -81422,6 +82160,215 @@ void HP_skill_validate_castnodex(struct config_setting_t *conf, struct s_skill_d
}
return;
}
+void HP_skill_validate_hp_cost(struct config_setting_t *conf, struct s_skill_db *sk) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_skill_validate_hp_cost_pre > 0) {
+ void (*preHookFunc) (struct config_setting_t **conf, struct s_skill_db **sk);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_hp_cost_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_skill_validate_hp_cost_pre[hIndex].func;
+ preHookFunc(&conf, &sk);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.skill.validate_hp_cost(conf, sk);
+ }
+ if (HPMHooks.count.HP_skill_validate_hp_cost_post > 0) {
+ void (*postHookFunc) (struct config_setting_t *conf, struct s_skill_db *sk);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_hp_cost_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_skill_validate_hp_cost_post[hIndex].func;
+ postHookFunc(conf, sk);
+ }
+ }
+ return;
+}
+void HP_skill_validate_sp_cost(struct config_setting_t *conf, struct s_skill_db *sk) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_skill_validate_sp_cost_pre > 0) {
+ void (*preHookFunc) (struct config_setting_t **conf, struct s_skill_db **sk);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_sp_cost_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_skill_validate_sp_cost_pre[hIndex].func;
+ preHookFunc(&conf, &sk);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.skill.validate_sp_cost(conf, sk);
+ }
+ if (HPMHooks.count.HP_skill_validate_sp_cost_post > 0) {
+ void (*postHookFunc) (struct config_setting_t *conf, struct s_skill_db *sk);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_sp_cost_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_skill_validate_sp_cost_post[hIndex].func;
+ postHookFunc(conf, sk);
+ }
+ }
+ return;
+}
+void HP_skill_validate_hp_rate_cost(struct config_setting_t *conf, struct s_skill_db *sk) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_skill_validate_hp_rate_cost_pre > 0) {
+ void (*preHookFunc) (struct config_setting_t **conf, struct s_skill_db **sk);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_hp_rate_cost_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_skill_validate_hp_rate_cost_pre[hIndex].func;
+ preHookFunc(&conf, &sk);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.skill.validate_hp_rate_cost(conf, sk);
+ }
+ if (HPMHooks.count.HP_skill_validate_hp_rate_cost_post > 0) {
+ void (*postHookFunc) (struct config_setting_t *conf, struct s_skill_db *sk);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_hp_rate_cost_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_skill_validate_hp_rate_cost_post[hIndex].func;
+ postHookFunc(conf, sk);
+ }
+ }
+ return;
+}
+void HP_skill_validate_sp_rate_cost(struct config_setting_t *conf, struct s_skill_db *sk) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_skill_validate_sp_rate_cost_pre > 0) {
+ void (*preHookFunc) (struct config_setting_t **conf, struct s_skill_db **sk);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_sp_rate_cost_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_skill_validate_sp_rate_cost_pre[hIndex].func;
+ preHookFunc(&conf, &sk);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.skill.validate_sp_rate_cost(conf, sk);
+ }
+ if (HPMHooks.count.HP_skill_validate_sp_rate_cost_post > 0) {
+ void (*postHookFunc) (struct config_setting_t *conf, struct s_skill_db *sk);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_sp_rate_cost_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_skill_validate_sp_rate_cost_post[hIndex].func;
+ postHookFunc(conf, sk);
+ }
+ }
+ return;
+}
+void HP_skill_validate_max_hp_trigger(struct config_setting_t *conf, struct s_skill_db *sk) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_skill_validate_max_hp_trigger_pre > 0) {
+ void (*preHookFunc) (struct config_setting_t **conf, struct s_skill_db **sk);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_max_hp_trigger_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_skill_validate_max_hp_trigger_pre[hIndex].func;
+ preHookFunc(&conf, &sk);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.skill.validate_max_hp_trigger(conf, sk);
+ }
+ if (HPMHooks.count.HP_skill_validate_max_hp_trigger_post > 0) {
+ void (*postHookFunc) (struct config_setting_t *conf, struct s_skill_db *sk);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_max_hp_trigger_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_skill_validate_max_hp_trigger_post[hIndex].func;
+ postHookFunc(conf, sk);
+ }
+ }
+ return;
+}
+void HP_skill_validate_max_sp_trigger(struct config_setting_t *conf, struct s_skill_db *sk) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_skill_validate_max_sp_trigger_pre > 0) {
+ void (*preHookFunc) (struct config_setting_t **conf, struct s_skill_db **sk);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_max_sp_trigger_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_skill_validate_max_sp_trigger_pre[hIndex].func;
+ preHookFunc(&conf, &sk);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.skill.validate_max_sp_trigger(conf, sk);
+ }
+ if (HPMHooks.count.HP_skill_validate_max_sp_trigger_post > 0) {
+ void (*postHookFunc) (struct config_setting_t *conf, struct s_skill_db *sk);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_max_sp_trigger_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_skill_validate_max_sp_trigger_post[hIndex].func;
+ postHookFunc(conf, sk);
+ }
+ }
+ return;
+}
+void HP_skill_validate_zeny_cost(struct config_setting_t *conf, struct s_skill_db *sk) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_skill_validate_zeny_cost_pre > 0) {
+ void (*preHookFunc) (struct config_setting_t **conf, struct s_skill_db **sk);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_zeny_cost_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_skill_validate_zeny_cost_pre[hIndex].func;
+ preHookFunc(&conf, &sk);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.skill.validate_zeny_cost(conf, sk);
+ }
+ if (HPMHooks.count.HP_skill_validate_zeny_cost_post > 0) {
+ void (*postHookFunc) (struct config_setting_t *conf, struct s_skill_db *sk);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_zeny_cost_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_skill_validate_zeny_cost_post[hIndex].func;
+ postHookFunc(conf, sk);
+ }
+ }
+ return;
+}
+int HP_skill_validate_weapontype_sub(const char *type, bool on, struct s_skill_db *sk) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_skill_validate_weapontype_sub_pre > 0) {
+ int (*preHookFunc) (const char **type, bool *on, struct s_skill_db **sk);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_weapontype_sub_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_skill_validate_weapontype_sub_pre[hIndex].func;
+ retVal___ = preHookFunc(&type, &on, &sk);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.skill.validate_weapontype_sub(type, on, sk);
+ }
+ if (HPMHooks.count.HP_skill_validate_weapontype_sub_post > 0) {
+ int (*postHookFunc) (int retVal___, const char *type, bool on, struct s_skill_db *sk);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_weapontype_sub_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_skill_validate_weapontype_sub_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, type, on, sk);
+ }
+ }
+ return retVal___;
+}
void HP_skill_validate_weapontype(struct config_setting_t *conf, struct s_skill_db *sk) {
int hIndex = 0;
if (HPMHooks.count.HP_skill_validate_weapontype_pre > 0) {
@@ -81448,6 +82395,33 @@ void HP_skill_validate_weapontype(struct config_setting_t *conf, struct s_skill_
}
return;
}
+int HP_skill_validate_ammotype_sub(const char *type, bool on, struct s_skill_db *sk) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_skill_validate_ammotype_sub_pre > 0) {
+ int (*preHookFunc) (const char **type, bool *on, struct s_skill_db **sk);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_ammotype_sub_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_skill_validate_ammotype_sub_pre[hIndex].func;
+ retVal___ = preHookFunc(&type, &on, &sk);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.skill.validate_ammotype_sub(type, on, sk);
+ }
+ if (HPMHooks.count.HP_skill_validate_ammotype_sub_post > 0) {
+ int (*postHookFunc) (int retVal___, const char *type, bool on, struct s_skill_db *sk);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_ammotype_sub_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_skill_validate_ammotype_sub_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, type, on, sk);
+ }
+ }
+ return retVal___;
+}
void HP_skill_validate_ammotype(struct config_setting_t *conf, struct s_skill_db *sk) {
int hIndex = 0;
if (HPMHooks.count.HP_skill_validate_ammotype_pre > 0) {
@@ -81474,6 +82448,59 @@ void HP_skill_validate_ammotype(struct config_setting_t *conf, struct s_skill_db
}
return;
}
+void HP_skill_validate_ammo_amount(struct config_setting_t *conf, struct s_skill_db *sk) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_skill_validate_ammo_amount_pre > 0) {
+ void (*preHookFunc) (struct config_setting_t **conf, struct s_skill_db **sk);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_ammo_amount_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_skill_validate_ammo_amount_pre[hIndex].func;
+ preHookFunc(&conf, &sk);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.skill.validate_ammo_amount(conf, sk);
+ }
+ if (HPMHooks.count.HP_skill_validate_ammo_amount_post > 0) {
+ void (*postHookFunc) (struct config_setting_t *conf, struct s_skill_db *sk);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_ammo_amount_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_skill_validate_ammo_amount_post[hIndex].func;
+ postHookFunc(conf, sk);
+ }
+ }
+ return;
+}
+int HP_skill_validate_state_sub(const char *state) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_skill_validate_state_sub_pre > 0) {
+ int (*preHookFunc) (const char **state);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_state_sub_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_skill_validate_state_sub_pre[hIndex].func;
+ retVal___ = preHookFunc(&state);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.skill.validate_state_sub(state);
+ }
+ if (HPMHooks.count.HP_skill_validate_state_sub_post > 0) {
+ int (*postHookFunc) (int retVal___, const char *state);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_state_sub_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_skill_validate_state_sub_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, state);
+ }
+ }
+ return retVal___;
+}
void HP_skill_validate_state(struct config_setting_t *conf, struct s_skill_db *sk) {
int hIndex = 0;
if (HPMHooks.count.HP_skill_validate_state_pre > 0) {
@@ -81500,6 +82527,110 @@ void HP_skill_validate_state(struct config_setting_t *conf, struct s_skill_db *s
}
return;
}
+void HP_skill_validate_spirit_sphere_cost(struct config_setting_t *conf, struct s_skill_db *sk) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_skill_validate_spirit_sphere_cost_pre > 0) {
+ void (*preHookFunc) (struct config_setting_t **conf, struct s_skill_db **sk);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_spirit_sphere_cost_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_skill_validate_spirit_sphere_cost_pre[hIndex].func;
+ preHookFunc(&conf, &sk);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.skill.validate_spirit_sphere_cost(conf, sk);
+ }
+ if (HPMHooks.count.HP_skill_validate_spirit_sphere_cost_post > 0) {
+ void (*postHookFunc) (struct config_setting_t *conf, struct s_skill_db *sk);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_spirit_sphere_cost_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_skill_validate_spirit_sphere_cost_post[hIndex].func;
+ postHookFunc(conf, sk);
+ }
+ }
+ return;
+}
+void HP_skill_validate_item_requirements_sub_item_amount(struct config_setting_t *conf, struct s_skill_db *sk, int item_index) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_skill_validate_item_requirements_sub_item_amount_pre > 0) {
+ void (*preHookFunc) (struct config_setting_t **conf, struct s_skill_db **sk, int *item_index);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_item_requirements_sub_item_amount_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_skill_validate_item_requirements_sub_item_amount_pre[hIndex].func;
+ preHookFunc(&conf, &sk, &item_index);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.skill.validate_item_requirements_sub_item_amount(conf, sk, item_index);
+ }
+ if (HPMHooks.count.HP_skill_validate_item_requirements_sub_item_amount_post > 0) {
+ void (*postHookFunc) (struct config_setting_t *conf, struct s_skill_db *sk, int item_index);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_item_requirements_sub_item_amount_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_skill_validate_item_requirements_sub_item_amount_post[hIndex].func;
+ postHookFunc(conf, sk, item_index);
+ }
+ }
+ return;
+}
+void HP_skill_validate_item_requirements_sub_items(struct config_setting_t *conf, struct s_skill_db *sk) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_skill_validate_item_requirements_sub_items_pre > 0) {
+ void (*preHookFunc) (struct config_setting_t **conf, struct s_skill_db **sk);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_item_requirements_sub_items_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_skill_validate_item_requirements_sub_items_pre[hIndex].func;
+ preHookFunc(&conf, &sk);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.skill.validate_item_requirements_sub_items(conf, sk);
+ }
+ if (HPMHooks.count.HP_skill_validate_item_requirements_sub_items_post > 0) {
+ void (*postHookFunc) (struct config_setting_t *conf, struct s_skill_db *sk);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_item_requirements_sub_items_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_skill_validate_item_requirements_sub_items_post[hIndex].func;
+ postHookFunc(conf, sk);
+ }
+ }
+ return;
+}
+void HP_skill_validate_item_requirements_sub_any_flag(struct config_setting_t *conf, struct s_skill_db *sk) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_skill_validate_item_requirements_sub_any_flag_pre > 0) {
+ void (*preHookFunc) (struct config_setting_t **conf, struct s_skill_db **sk);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_item_requirements_sub_any_flag_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_skill_validate_item_requirements_sub_any_flag_pre[hIndex].func;
+ preHookFunc(&conf, &sk);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.skill.validate_item_requirements_sub_any_flag(conf, sk);
+ }
+ if (HPMHooks.count.HP_skill_validate_item_requirements_sub_any_flag_post > 0) {
+ void (*postHookFunc) (struct config_setting_t *conf, struct s_skill_db *sk);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_item_requirements_sub_any_flag_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_skill_validate_item_requirements_sub_any_flag_post[hIndex].func;
+ postHookFunc(conf, sk);
+ }
+ }
+ return;
+}
void HP_skill_validate_item_requirements(struct config_setting_t *conf, struct s_skill_db *sk) {
int hIndex = 0;
if (HPMHooks.count.HP_skill_validate_item_requirements_pre > 0) {
@@ -81526,13 +82657,39 @@ void HP_skill_validate_item_requirements(struct config_setting_t *conf, struct s
}
return;
}
-void HP_skill_validate_unit_target(struct config_setting_t *conf, struct s_skill_db *sk) {
+void HP_skill_validate_equip_requirements_sub_item_amount(struct config_setting_t *conf, struct s_skill_db *sk, int item_index) {
int hIndex = 0;
- if (HPMHooks.count.HP_skill_validate_unit_target_pre > 0) {
+ if (HPMHooks.count.HP_skill_validate_equip_requirements_sub_item_amount_pre > 0) {
+ void (*preHookFunc) (struct config_setting_t **conf, struct s_skill_db **sk, int *item_index);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_equip_requirements_sub_item_amount_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_skill_validate_equip_requirements_sub_item_amount_pre[hIndex].func;
+ preHookFunc(&conf, &sk, &item_index);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.skill.validate_equip_requirements_sub_item_amount(conf, sk, item_index);
+ }
+ if (HPMHooks.count.HP_skill_validate_equip_requirements_sub_item_amount_post > 0) {
+ void (*postHookFunc) (struct config_setting_t *conf, struct s_skill_db *sk, int item_index);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_equip_requirements_sub_item_amount_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_skill_validate_equip_requirements_sub_item_amount_post[hIndex].func;
+ postHookFunc(conf, sk, item_index);
+ }
+ }
+ return;
+}
+void HP_skill_validate_equip_requirements_sub_items(struct config_setting_t *conf, struct s_skill_db *sk) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_skill_validate_equip_requirements_sub_items_pre > 0) {
void (*preHookFunc) (struct config_setting_t **conf, struct s_skill_db **sk);
*HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_unit_target_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_skill_validate_unit_target_pre[hIndex].func;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_equip_requirements_sub_items_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_skill_validate_equip_requirements_sub_items_pre[hIndex].func;
preHookFunc(&conf, &sk);
}
if (*HPMforce_return) {
@@ -81541,24 +82698,24 @@ void HP_skill_validate_unit_target(struct config_setting_t *conf, struct s_skill
}
}
{
- HPMHooks.source.skill.validate_unit_target(conf, sk);
+ HPMHooks.source.skill.validate_equip_requirements_sub_items(conf, sk);
}
- if (HPMHooks.count.HP_skill_validate_unit_target_post > 0) {
+ if (HPMHooks.count.HP_skill_validate_equip_requirements_sub_items_post > 0) {
void (*postHookFunc) (struct config_setting_t *conf, struct s_skill_db *sk);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_unit_target_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_skill_validate_unit_target_post[hIndex].func;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_equip_requirements_sub_items_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_skill_validate_equip_requirements_sub_items_post[hIndex].func;
postHookFunc(conf, sk);
}
}
return;
}
-void HP_skill_validate_unit_flag(struct config_setting_t *conf, struct s_skill_db *sk) {
+void HP_skill_validate_equip_requirements_sub_any_flag(struct config_setting_t *conf, struct s_skill_db *sk) {
int hIndex = 0;
- if (HPMHooks.count.HP_skill_validate_unit_flag_pre > 0) {
+ if (HPMHooks.count.HP_skill_validate_equip_requirements_sub_any_flag_pre > 0) {
void (*preHookFunc) (struct config_setting_t **conf, struct s_skill_db **sk);
*HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_unit_flag_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_skill_validate_unit_flag_pre[hIndex].func;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_equip_requirements_sub_any_flag_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_skill_validate_equip_requirements_sub_any_flag_pre[hIndex].func;
preHookFunc(&conf, &sk);
}
if (*HPMforce_return) {
@@ -81567,24 +82724,24 @@ void HP_skill_validate_unit_flag(struct config_setting_t *conf, struct s_skill_d
}
}
{
- HPMHooks.source.skill.validate_unit_flag(conf, sk);
+ HPMHooks.source.skill.validate_equip_requirements_sub_any_flag(conf, sk);
}
- if (HPMHooks.count.HP_skill_validate_unit_flag_post > 0) {
+ if (HPMHooks.count.HP_skill_validate_equip_requirements_sub_any_flag_post > 0) {
void (*postHookFunc) (struct config_setting_t *conf, struct s_skill_db *sk);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_unit_flag_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_skill_validate_unit_flag_post[hIndex].func;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_equip_requirements_sub_any_flag_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_skill_validate_equip_requirements_sub_any_flag_post[hIndex].func;
postHookFunc(conf, sk);
}
}
return;
}
-void HP_skill_validate_additional_fields(struct config_setting_t *conf, struct s_skill_db *sk) {
+void HP_skill_validate_equip_requirements(struct config_setting_t *conf, struct s_skill_db *sk) {
int hIndex = 0;
- if (HPMHooks.count.HP_skill_validate_additional_fields_pre > 0) {
+ if (HPMHooks.count.HP_skill_validate_equip_requirements_pre > 0) {
void (*preHookFunc) (struct config_setting_t **conf, struct s_skill_db **sk);
*HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_additional_fields_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_skill_validate_additional_fields_pre[hIndex].func;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_equip_requirements_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_skill_validate_equip_requirements_pre[hIndex].func;
preHookFunc(&conf, &sk);
}
if (*HPMforce_return) {
@@ -81593,26 +82750,26 @@ void HP_skill_validate_additional_fields(struct config_setting_t *conf, struct s
}
}
{
- HPMHooks.source.skill.validate_additional_fields(conf, sk);
+ HPMHooks.source.skill.validate_equip_requirements(conf, sk);
}
- if (HPMHooks.count.HP_skill_validate_additional_fields_post > 0) {
+ if (HPMHooks.count.HP_skill_validate_equip_requirements_post > 0) {
void (*postHookFunc) (struct config_setting_t *conf, struct s_skill_db *sk);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_additional_fields_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_skill_validate_additional_fields_post[hIndex].func;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_equip_requirements_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_skill_validate_equip_requirements_post[hIndex].func;
postHookFunc(conf, sk);
}
}
return;
}
-int HP_skill_validate_weapontype_sub(const char *type, bool on, struct s_skill_db *sk) {
+int HP_skill_validate_requirements_item_name(const char *name) {
int hIndex = 0;
int retVal___ = 0;
- if (HPMHooks.count.HP_skill_validate_weapontype_sub_pre > 0) {
- int (*preHookFunc) (const char **type, bool *on, struct s_skill_db **sk);
+ if (HPMHooks.count.HP_skill_validate_requirements_item_name_pre > 0) {
+ int (*preHookFunc) (const char **name);
*HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_weapontype_sub_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_skill_validate_weapontype_sub_pre[hIndex].func;
- retVal___ = preHookFunc(&type, &on, &sk);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_requirements_item_name_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_skill_validate_requirements_item_name_pre[hIndex].func;
+ retVal___ = preHookFunc(&name);
}
if (*HPMforce_return) {
*HPMforce_return = false;
@@ -81620,26 +82777,52 @@ int HP_skill_validate_weapontype_sub(const char *type, bool on, struct s_skill_d
}
}
{
- retVal___ = HPMHooks.source.skill.validate_weapontype_sub(type, on, sk);
+ retVal___ = HPMHooks.source.skill.validate_requirements_item_name(name);
}
- if (HPMHooks.count.HP_skill_validate_weapontype_sub_post > 0) {
- int (*postHookFunc) (int retVal___, const char *type, bool on, struct s_skill_db *sk);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_weapontype_sub_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_skill_validate_weapontype_sub_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, type, on, sk);
+ if (HPMHooks.count.HP_skill_validate_requirements_item_name_post > 0) {
+ int (*postHookFunc) (int retVal___, const char *name);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_requirements_item_name_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_skill_validate_requirements_item_name_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, name);
}
}
return retVal___;
}
-int HP_skill_validate_ammotype_sub(const char *type, bool on, struct s_skill_db *sk) {
+void HP_skill_validate_requirements(struct config_setting_t *conf, struct s_skill_db *sk) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_skill_validate_requirements_pre > 0) {
+ void (*preHookFunc) (struct config_setting_t **conf, struct s_skill_db **sk);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_requirements_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_skill_validate_requirements_pre[hIndex].func;
+ preHookFunc(&conf, &sk);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.skill.validate_requirements(conf, sk);
+ }
+ if (HPMHooks.count.HP_skill_validate_requirements_post > 0) {
+ void (*postHookFunc) (struct config_setting_t *conf, struct s_skill_db *sk);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_requirements_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_skill_validate_requirements_post[hIndex].func;
+ postHookFunc(conf, sk);
+ }
+ }
+ return;
+}
+int HP_skill_validate_unit_id_sub(int unit_id) {
int hIndex = 0;
int retVal___ = 0;
- if (HPMHooks.count.HP_skill_validate_ammotype_sub_pre > 0) {
- int (*preHookFunc) (const char **type, bool *on, struct s_skill_db **sk);
+ if (HPMHooks.count.HP_skill_validate_unit_id_sub_pre > 0) {
+ int (*preHookFunc) (int *unit_id);
*HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_ammotype_sub_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_skill_validate_ammotype_sub_pre[hIndex].func;
- retVal___ = preHookFunc(&type, &on, &sk);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_unit_id_sub_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_skill_validate_unit_id_sub_pre[hIndex].func;
+ retVal___ = preHookFunc(&unit_id);
}
if (*HPMforce_return) {
*HPMforce_return = false;
@@ -81647,17 +82830,121 @@ int HP_skill_validate_ammotype_sub(const char *type, bool on, struct s_skill_db
}
}
{
- retVal___ = HPMHooks.source.skill.validate_ammotype_sub(type, on, sk);
+ retVal___ = HPMHooks.source.skill.validate_unit_id_sub(unit_id);
}
- if (HPMHooks.count.HP_skill_validate_ammotype_sub_post > 0) {
- int (*postHookFunc) (int retVal___, const char *type, bool on, struct s_skill_db *sk);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_ammotype_sub_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_skill_validate_ammotype_sub_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, type, on, sk);
+ if (HPMHooks.count.HP_skill_validate_unit_id_sub_post > 0) {
+ int (*postHookFunc) (int retVal___, int unit_id);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_unit_id_sub_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_skill_validate_unit_id_sub_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, unit_id);
}
}
return retVal___;
}
+void HP_skill_validate_unit_id(struct config_setting_t *conf, struct s_skill_db *sk) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_skill_validate_unit_id_pre > 0) {
+ void (*preHookFunc) (struct config_setting_t **conf, struct s_skill_db **sk);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_unit_id_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_skill_validate_unit_id_pre[hIndex].func;
+ preHookFunc(&conf, &sk);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.skill.validate_unit_id(conf, sk);
+ }
+ if (HPMHooks.count.HP_skill_validate_unit_id_post > 0) {
+ void (*postHookFunc) (struct config_setting_t *conf, struct s_skill_db *sk);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_unit_id_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_skill_validate_unit_id_post[hIndex].func;
+ postHookFunc(conf, sk);
+ }
+ }
+ return;
+}
+void HP_skill_validate_unit_layout(struct config_setting_t *conf, struct s_skill_db *sk) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_skill_validate_unit_layout_pre > 0) {
+ void (*preHookFunc) (struct config_setting_t **conf, struct s_skill_db **sk);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_unit_layout_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_skill_validate_unit_layout_pre[hIndex].func;
+ preHookFunc(&conf, &sk);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.skill.validate_unit_layout(conf, sk);
+ }
+ if (HPMHooks.count.HP_skill_validate_unit_layout_post > 0) {
+ void (*postHookFunc) (struct config_setting_t *conf, struct s_skill_db *sk);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_unit_layout_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_skill_validate_unit_layout_post[hIndex].func;
+ postHookFunc(conf, sk);
+ }
+ }
+ return;
+}
+void HP_skill_validate_unit_range(struct config_setting_t *conf, struct s_skill_db *sk) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_skill_validate_unit_range_pre > 0) {
+ void (*preHookFunc) (struct config_setting_t **conf, struct s_skill_db **sk);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_unit_range_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_skill_validate_unit_range_pre[hIndex].func;
+ preHookFunc(&conf, &sk);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.skill.validate_unit_range(conf, sk);
+ }
+ if (HPMHooks.count.HP_skill_validate_unit_range_post > 0) {
+ void (*postHookFunc) (struct config_setting_t *conf, struct s_skill_db *sk);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_unit_range_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_skill_validate_unit_range_post[hIndex].func;
+ postHookFunc(conf, sk);
+ }
+ }
+ return;
+}
+void HP_skill_validate_unit_interval(struct config_setting_t *conf, struct s_skill_db *sk) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_skill_validate_unit_interval_pre > 0) {
+ void (*preHookFunc) (struct config_setting_t **conf, struct s_skill_db **sk);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_unit_interval_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_skill_validate_unit_interval_pre[hIndex].func;
+ preHookFunc(&conf, &sk);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.skill.validate_unit_interval(conf, sk);
+ }
+ if (HPMHooks.count.HP_skill_validate_unit_interval_post > 0) {
+ void (*postHookFunc) (struct config_setting_t *conf, struct s_skill_db *sk);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_unit_interval_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_skill_validate_unit_interval_post[hIndex].func;
+ postHookFunc(conf, sk);
+ }
+ }
+ return;
+}
int HP_skill_validate_unit_flag_sub(const char *type, bool on, struct s_skill_db *sk) {
int hIndex = 0;
int retVal___ = 0;
@@ -81685,6 +82972,137 @@ int HP_skill_validate_unit_flag_sub(const char *type, bool on, struct s_skill_db
}
return retVal___;
}
+void HP_skill_validate_unit_flag(struct config_setting_t *conf, struct s_skill_db *sk) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_skill_validate_unit_flag_pre > 0) {
+ void (*preHookFunc) (struct config_setting_t **conf, struct s_skill_db **sk);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_unit_flag_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_skill_validate_unit_flag_pre[hIndex].func;
+ preHookFunc(&conf, &sk);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.skill.validate_unit_flag(conf, sk);
+ }
+ if (HPMHooks.count.HP_skill_validate_unit_flag_post > 0) {
+ void (*postHookFunc) (struct config_setting_t *conf, struct s_skill_db *sk);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_unit_flag_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_skill_validate_unit_flag_post[hIndex].func;
+ postHookFunc(conf, sk);
+ }
+ }
+ return;
+}
+int HP_skill_validate_unit_target_sub(const char *target) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_skill_validate_unit_target_sub_pre > 0) {
+ int (*preHookFunc) (const char **target);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_unit_target_sub_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_skill_validate_unit_target_sub_pre[hIndex].func;
+ retVal___ = preHookFunc(&target);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.skill.validate_unit_target_sub(target);
+ }
+ if (HPMHooks.count.HP_skill_validate_unit_target_sub_post > 0) {
+ int (*postHookFunc) (int retVal___, const char *target);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_unit_target_sub_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_skill_validate_unit_target_sub_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, target);
+ }
+ }
+ return retVal___;
+}
+void HP_skill_validate_unit_target(struct config_setting_t *conf, struct s_skill_db *sk) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_skill_validate_unit_target_pre > 0) {
+ void (*preHookFunc) (struct config_setting_t **conf, struct s_skill_db **sk);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_unit_target_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_skill_validate_unit_target_pre[hIndex].func;
+ preHookFunc(&conf, &sk);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.skill.validate_unit_target(conf, sk);
+ }
+ if (HPMHooks.count.HP_skill_validate_unit_target_post > 0) {
+ void (*postHookFunc) (struct config_setting_t *conf, struct s_skill_db *sk);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_unit_target_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_skill_validate_unit_target_post[hIndex].func;
+ postHookFunc(conf, sk);
+ }
+ }
+ return;
+}
+void HP_skill_validate_unit(struct config_setting_t *conf, struct s_skill_db *sk) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_skill_validate_unit_pre > 0) {
+ void (*preHookFunc) (struct config_setting_t **conf, struct s_skill_db **sk);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_unit_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_skill_validate_unit_pre[hIndex].func;
+ preHookFunc(&conf, &sk);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.skill.validate_unit(conf, sk);
+ }
+ if (HPMHooks.count.HP_skill_validate_unit_post > 0) {
+ void (*postHookFunc) (struct config_setting_t *conf, struct s_skill_db *sk);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_unit_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_skill_validate_unit_post[hIndex].func;
+ postHookFunc(conf, sk);
+ }
+ }
+ return;
+}
+void HP_skill_validate_additional_fields(struct config_setting_t *conf, struct s_skill_db *sk) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_skill_validate_additional_fields_pre > 0) {
+ void (*preHookFunc) (struct config_setting_t **conf, struct s_skill_db **sk);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_additional_fields_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_skill_validate_additional_fields_pre[hIndex].func;
+ preHookFunc(&conf, &sk);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.skill.validate_additional_fields(conf, sk);
+ }
+ if (HPMHooks.count.HP_skill_validate_additional_fields_post > 0) {
+ void (*postHookFunc) (struct config_setting_t *conf, struct s_skill_db *sk);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_additional_fields_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_skill_validate_additional_fields_post[hIndex].func;
+ postHookFunc(conf, sk);
+ }
+ }
+ return;
+}
bool HP_skill_read_skilldb(const char *filename) {
int hIndex = 0;
bool retVal___ = false;