summaryrefslogtreecommitdiff
path: root/src/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/HPMHooking/HPMHooking.Defs.inc22
-rw-r--r--src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc36
-rw-r--r--src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc9
-rw-r--r--src/plugins/HPMHooking/HPMHooking_map.Hooks.inc256
4 files changed, 313 insertions, 10 deletions
diff --git a/src/plugins/HPMHooking/HPMHooking.Defs.inc b/src/plugins/HPMHooking/HPMHooking.Defs.inc
index ae425e35c..a548d4eaf 100644
--- a/src/plugins/HPMHooking/HPMHooking.Defs.inc
+++ b/src/plugins/HPMHooking/HPMHooking.Defs.inc
@@ -4282,8 +4282,8 @@ typedef bool (*HPMHOOK_pre_map_iwall_set) (int16 *m, int16 *x, int16 *y, int *si
typedef bool (*HPMHOOK_post_map_iwall_set) (bool retVal___, int16 m, int16 x, int16 y, int size, int8 dir, bool shootable, const char *wall_name);
typedef void (*HPMHOOK_pre_map_iwall_get) (struct map_session_data **sd);
typedef void (*HPMHOOK_post_map_iwall_get) (struct map_session_data *sd);
-typedef void (*HPMHOOK_pre_map_iwall_remove) (const char **wall_name);
-typedef void (*HPMHOOK_post_map_iwall_remove) (const char *wall_name);
+typedef bool (*HPMHOOK_pre_map_iwall_remove) (const char **wall_name);
+typedef bool (*HPMHOOK_post_map_iwall_remove) (bool retVal___, const char *wall_name);
typedef int (*HPMHOOK_pre_map_addmobtolist) (unsigned short *m, struct spawn_data **spawn);
typedef int (*HPMHOOK_post_map_addmobtolist) (int retVal___, unsigned short m, struct spawn_data *spawn);
typedef void (*HPMHOOK_pre_map_spawnmobs) (int16 *m);
@@ -5554,6 +5554,10 @@ typedef int (*HPMHOOK_pre_pc_checkequip) (struct map_session_data **sd, int *pos
typedef int (*HPMHOOK_post_pc_checkequip) (int retVal___, struct map_session_data *sd, int pos);
typedef int (*HPMHOOK_pre_pc_calc_skilltree) (struct map_session_data **sd);
typedef int (*HPMHOOK_post_pc_calc_skilltree) (int retVal___, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_pc_calc_skilltree_clear) (struct map_session_data **sd);
+typedef void (*HPMHOOK_post_pc_calc_skilltree_clear) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_pc_calc_skilltree_bonus) (struct map_session_data **sd, int *classidx);
+typedef void (*HPMHOOK_post_pc_calc_skilltree_bonus) (struct map_session_data *sd, int classidx);
typedef int (*HPMHOOK_pre_pc_calc_skilltree_normalize_job) (struct map_session_data **sd);
typedef int (*HPMHOOK_post_pc_calc_skilltree_normalize_job) (int retVal___, struct map_session_data *sd);
typedef int (*HPMHOOK_pre_pc_clean_skilltree) (struct map_session_data **sd);
@@ -5650,6 +5654,8 @@ typedef int (*HPMHOOK_pre_pc_maxjoblv) (const struct map_session_data **sd);
typedef int (*HPMHOOK_post_pc_maxjoblv) (int retVal___, const struct map_session_data *sd);
typedef int (*HPMHOOK_pre_pc_checkbaselevelup) (struct map_session_data **sd);
typedef int (*HPMHOOK_post_pc_checkbaselevelup) (int retVal___, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_pc_checkbaselevelup_sc) (struct map_session_data **sd);
+typedef void (*HPMHOOK_post_pc_checkbaselevelup_sc) (struct map_session_data *sd);
typedef int (*HPMHOOK_pre_pc_checkjoblevelup) (struct map_session_data **sd);
typedef int (*HPMHOOK_post_pc_checkjoblevelup) (int retVal___, struct map_session_data *sd);
typedef bool (*HPMHOOK_pre_pc_gainexp) (struct map_session_data **sd, struct block_list **src, uint64 *base_exp, uint64 *job_exp, bool *is_quest);
@@ -5682,6 +5688,8 @@ typedef int (*HPMHOOK_pre_pc_resetstate) (struct map_session_data **sd);
typedef int (*HPMHOOK_post_pc_resetstate) (int retVal___, struct map_session_data *sd);
typedef int (*HPMHOOK_pre_pc_resetskill) (struct map_session_data **sd, int *flag);
typedef int (*HPMHOOK_post_pc_resetskill) (int retVal___, struct map_session_data *sd, int flag);
+typedef bool (*HPMHOOK_pre_pc_resetskill_job) (struct map_session_data **sd, int *index);
+typedef bool (*HPMHOOK_post_pc_resetskill_job) (bool retVal___, struct map_session_data *sd, int index);
typedef int (*HPMHOOK_pre_pc_resetfeel) (struct map_session_data **sd);
typedef int (*HPMHOOK_post_pc_resetfeel) (int retVal___, struct map_session_data *sd);
typedef int (*HPMHOOK_pre_pc_resethate) (struct map_session_data **sd);
@@ -5802,8 +5810,12 @@ typedef void (*HPMHOOK_pre_pc_delinvincibletimer) (struct map_session_data **sd)
typedef void (*HPMHOOK_post_pc_delinvincibletimer) (struct map_session_data *sd);
typedef int (*HPMHOOK_pre_pc_addspiritball) (struct map_session_data **sd, int *interval, int *max);
typedef int (*HPMHOOK_post_pc_addspiritball) (int retVal___, struct map_session_data *sd, int interval, int max);
+typedef int (*HPMHOOK_pre_pc_addspiritball_sub) (struct map_session_data **sd);
+typedef int (*HPMHOOK_post_pc_addspiritball_sub) (int retVal___, struct map_session_data *sd);
typedef int (*HPMHOOK_pre_pc_delspiritball) (struct map_session_data **sd, int *count, int *type);
typedef int (*HPMHOOK_post_pc_delspiritball) (int retVal___, struct map_session_data *sd, int count, int type);
+typedef int (*HPMHOOK_pre_pc_delspiritball_sub) (struct map_session_data **sd);
+typedef int (*HPMHOOK_post_pc_delspiritball_sub) (int retVal___, struct map_session_data *sd);
typedef int (*HPMHOOK_pre_pc_getmaxspiritball) (struct map_session_data **sd, int *min);
typedef int (*HPMHOOK_post_pc_getmaxspiritball) (int retVal___, struct map_session_data *sd, int min);
typedef void (*HPMHOOK_pre_pc_addfame) (struct map_session_data **sd, int *ranktype, int *count);
@@ -5892,6 +5904,8 @@ typedef int (*HPMHOOK_pre_pc_follow_timer) (int *tid, int64 *tick, int *id, intp
typedef int (*HPMHOOK_post_pc_follow_timer) (int retVal___, int tid, int64 tick, int id, intptr_t data);
typedef void (*HPMHOOK_pre_pc_read_skill_tree) (void);
typedef void (*HPMHOOK_post_pc_read_skill_tree) (void);
+typedef bool (*HPMHOOK_pre_pc_read_skill_job_skip) (short *skill_id, int *job_id);
+typedef bool (*HPMHOOK_post_pc_read_skill_job_skip) (bool retVal___, short skill_id, int job_id);
typedef void (*HPMHOOK_pre_pc_clear_skill_tree) (void);
typedef void (*HPMHOOK_post_pc_clear_skill_tree) (void);
typedef int (*HPMHOOK_pre_pc_isUseitem) (struct map_session_data **sd, int *n);
@@ -5950,6 +5964,8 @@ typedef void (*HPMHOOK_pre_pc_check_supernovice_call) (struct map_session_data *
typedef void (*HPMHOOK_post_pc_check_supernovice_call) (struct map_session_data *sd, const char *message);
typedef bool (*HPMHOOK_pre_pc_check_basicskill) (struct map_session_data **sd, int *level);
typedef bool (*HPMHOOK_post_pc_check_basicskill) (bool retVal___, struct map_session_data *sd, int level);
+typedef bool (*HPMHOOK_pre_pc_isDeathPenaltyJob) (uint16 *job);
+typedef bool (*HPMHOOK_post_pc_isDeathPenaltyJob) (bool retVal___, uint16 job);
#endif // MAP_PC_H
#ifdef MAP_NPC_H /* libpcre */
typedef pcre* (*HPMHOOK_pre_libpcre_compile) (const char **pattern, int *options, const char ***errptr, int **erroffset, const unsigned char **tableptr);
@@ -7300,6 +7316,8 @@ typedef int (*HPMHOOK_pre_status_calc_pc_) (struct map_session_data **sd, enum e
typedef int (*HPMHOOK_post_status_calc_pc_) (int retVal___, struct map_session_data *sd, enum e_status_calc_opt opt);
typedef void (*HPMHOOK_pre_status_calc_pc_additional) (struct map_session_data **sd, enum e_status_calc_opt *opt);
typedef void (*HPMHOOK_post_status_calc_pc_additional) (struct map_session_data *sd, enum e_status_calc_opt opt);
+typedef void (*HPMHOOK_pre_status_calc_pc_recover_hp) (struct map_session_data **sd, struct status_data **bstatus);
+typedef void (*HPMHOOK_post_status_calc_pc_recover_hp) (struct map_session_data *sd, struct status_data *bstatus);
typedef int (*HPMHOOK_pre_status_calc_homunculus_) (struct homun_data **hd, enum e_status_calc_opt *opt);
typedef int (*HPMHOOK_post_status_calc_homunculus_) (int retVal___, struct homun_data *hd, enum e_status_calc_opt opt);
typedef int (*HPMHOOK_pre_status_calc_mercenary_) (struct mercenary_data **md, enum e_status_calc_opt *opt);
diff --git a/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc b/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc
index b976d9601..19f91bb11 100644
--- a/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc
+++ b/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc
@@ -4210,6 +4210,10 @@ struct {
struct HPMHookPoint *HP_pc_checkequip_post;
struct HPMHookPoint *HP_pc_calc_skilltree_pre;
struct HPMHookPoint *HP_pc_calc_skilltree_post;
+ struct HPMHookPoint *HP_pc_calc_skilltree_clear_pre;
+ struct HPMHookPoint *HP_pc_calc_skilltree_clear_post;
+ struct HPMHookPoint *HP_pc_calc_skilltree_bonus_pre;
+ struct HPMHookPoint *HP_pc_calc_skilltree_bonus_post;
struct HPMHookPoint *HP_pc_calc_skilltree_normalize_job_pre;
struct HPMHookPoint *HP_pc_calc_skilltree_normalize_job_post;
struct HPMHookPoint *HP_pc_clean_skilltree_pre;
@@ -4306,6 +4310,8 @@ struct {
struct HPMHookPoint *HP_pc_maxjoblv_post;
struct HPMHookPoint *HP_pc_checkbaselevelup_pre;
struct HPMHookPoint *HP_pc_checkbaselevelup_post;
+ struct HPMHookPoint *HP_pc_checkbaselevelup_sc_pre;
+ struct HPMHookPoint *HP_pc_checkbaselevelup_sc_post;
struct HPMHookPoint *HP_pc_checkjoblevelup_pre;
struct HPMHookPoint *HP_pc_checkjoblevelup_post;
struct HPMHookPoint *HP_pc_gainexp_pre;
@@ -4338,6 +4344,8 @@ struct {
struct HPMHookPoint *HP_pc_resetstate_post;
struct HPMHookPoint *HP_pc_resetskill_pre;
struct HPMHookPoint *HP_pc_resetskill_post;
+ struct HPMHookPoint *HP_pc_resetskill_job_pre;
+ struct HPMHookPoint *HP_pc_resetskill_job_post;
struct HPMHookPoint *HP_pc_resetfeel_pre;
struct HPMHookPoint *HP_pc_resetfeel_post;
struct HPMHookPoint *HP_pc_resethate_pre;
@@ -4458,8 +4466,12 @@ struct {
struct HPMHookPoint *HP_pc_delinvincibletimer_post;
struct HPMHookPoint *HP_pc_addspiritball_pre;
struct HPMHookPoint *HP_pc_addspiritball_post;
+ struct HPMHookPoint *HP_pc_addspiritball_sub_pre;
+ struct HPMHookPoint *HP_pc_addspiritball_sub_post;
struct HPMHookPoint *HP_pc_delspiritball_pre;
struct HPMHookPoint *HP_pc_delspiritball_post;
+ struct HPMHookPoint *HP_pc_delspiritball_sub_pre;
+ struct HPMHookPoint *HP_pc_delspiritball_sub_post;
struct HPMHookPoint *HP_pc_getmaxspiritball_pre;
struct HPMHookPoint *HP_pc_getmaxspiritball_post;
struct HPMHookPoint *HP_pc_addfame_pre;
@@ -4548,6 +4560,8 @@ struct {
struct HPMHookPoint *HP_pc_follow_timer_post;
struct HPMHookPoint *HP_pc_read_skill_tree_pre;
struct HPMHookPoint *HP_pc_read_skill_tree_post;
+ struct HPMHookPoint *HP_pc_read_skill_job_skip_pre;
+ struct HPMHookPoint *HP_pc_read_skill_job_skip_post;
struct HPMHookPoint *HP_pc_clear_skill_tree_pre;
struct HPMHookPoint *HP_pc_clear_skill_tree_post;
struct HPMHookPoint *HP_pc_isUseitem_pre;
@@ -4606,6 +4620,8 @@ struct {
struct HPMHookPoint *HP_pc_check_supernovice_call_post;
struct HPMHookPoint *HP_pc_check_basicskill_pre;
struct HPMHookPoint *HP_pc_check_basicskill_post;
+ struct HPMHookPoint *HP_pc_isDeathPenaltyJob_pre;
+ struct HPMHookPoint *HP_pc_isDeathPenaltyJob_post;
struct HPMHookPoint *HP_libpcre_compile_pre;
struct HPMHookPoint *HP_libpcre_compile_post;
struct HPMHookPoint *HP_libpcre_study_pre;
@@ -5900,6 +5916,8 @@ struct {
struct HPMHookPoint *HP_status_calc_pc__post;
struct HPMHookPoint *HP_status_calc_pc_additional_pre;
struct HPMHookPoint *HP_status_calc_pc_additional_post;
+ struct HPMHookPoint *HP_status_calc_pc_recover_hp_pre;
+ struct HPMHookPoint *HP_status_calc_pc_recover_hp_post;
struct HPMHookPoint *HP_status_calc_homunculus__pre;
struct HPMHookPoint *HP_status_calc_homunculus__post;
struct HPMHookPoint *HP_status_calc_mercenary__pre;
@@ -10527,6 +10545,10 @@ struct {
int HP_pc_checkequip_post;
int HP_pc_calc_skilltree_pre;
int HP_pc_calc_skilltree_post;
+ int HP_pc_calc_skilltree_clear_pre;
+ int HP_pc_calc_skilltree_clear_post;
+ int HP_pc_calc_skilltree_bonus_pre;
+ int HP_pc_calc_skilltree_bonus_post;
int HP_pc_calc_skilltree_normalize_job_pre;
int HP_pc_calc_skilltree_normalize_job_post;
int HP_pc_clean_skilltree_pre;
@@ -10623,6 +10645,8 @@ struct {
int HP_pc_maxjoblv_post;
int HP_pc_checkbaselevelup_pre;
int HP_pc_checkbaselevelup_post;
+ int HP_pc_checkbaselevelup_sc_pre;
+ int HP_pc_checkbaselevelup_sc_post;
int HP_pc_checkjoblevelup_pre;
int HP_pc_checkjoblevelup_post;
int HP_pc_gainexp_pre;
@@ -10655,6 +10679,8 @@ struct {
int HP_pc_resetstate_post;
int HP_pc_resetskill_pre;
int HP_pc_resetskill_post;
+ int HP_pc_resetskill_job_pre;
+ int HP_pc_resetskill_job_post;
int HP_pc_resetfeel_pre;
int HP_pc_resetfeel_post;
int HP_pc_resethate_pre;
@@ -10775,8 +10801,12 @@ struct {
int HP_pc_delinvincibletimer_post;
int HP_pc_addspiritball_pre;
int HP_pc_addspiritball_post;
+ int HP_pc_addspiritball_sub_pre;
+ int HP_pc_addspiritball_sub_post;
int HP_pc_delspiritball_pre;
int HP_pc_delspiritball_post;
+ int HP_pc_delspiritball_sub_pre;
+ int HP_pc_delspiritball_sub_post;
int HP_pc_getmaxspiritball_pre;
int HP_pc_getmaxspiritball_post;
int HP_pc_addfame_pre;
@@ -10865,6 +10895,8 @@ struct {
int HP_pc_follow_timer_post;
int HP_pc_read_skill_tree_pre;
int HP_pc_read_skill_tree_post;
+ int HP_pc_read_skill_job_skip_pre;
+ int HP_pc_read_skill_job_skip_post;
int HP_pc_clear_skill_tree_pre;
int HP_pc_clear_skill_tree_post;
int HP_pc_isUseitem_pre;
@@ -10923,6 +10955,8 @@ struct {
int HP_pc_check_supernovice_call_post;
int HP_pc_check_basicskill_pre;
int HP_pc_check_basicskill_post;
+ int HP_pc_isDeathPenaltyJob_pre;
+ int HP_pc_isDeathPenaltyJob_post;
int HP_libpcre_compile_pre;
int HP_libpcre_compile_post;
int HP_libpcre_study_pre;
@@ -12217,6 +12251,8 @@ struct {
int HP_status_calc_pc__post;
int HP_status_calc_pc_additional_pre;
int HP_status_calc_pc_additional_post;
+ int HP_status_calc_pc_recover_hp_pre;
+ int HP_status_calc_pc_recover_hp_post;
int HP_status_calc_homunculus__pre;
int HP_status_calc_homunculus__post;
int HP_status_calc_mercenary__pre;
diff --git a/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc b/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc
index 19fd8498e..711e25d30 100644
--- a/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc
+++ b/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc
@@ -2161,6 +2161,8 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(pc->checkallowskill, HP_pc_checkallowskill) },
{ HP_POP(pc->checkequip, HP_pc_checkequip) },
{ HP_POP(pc->calc_skilltree, HP_pc_calc_skilltree) },
+ { HP_POP(pc->calc_skilltree_clear, HP_pc_calc_skilltree_clear) },
+ { HP_POP(pc->calc_skilltree_bonus, HP_pc_calc_skilltree_bonus) },
{ HP_POP(pc->calc_skilltree_normalize_job, HP_pc_calc_skilltree_normalize_job) },
{ HP_POP(pc->clean_skilltree, HP_pc_clean_skilltree) },
{ HP_POP(pc->setpos, HP_pc_setpos) },
@@ -2209,6 +2211,7 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(pc->maxbaselv, HP_pc_maxbaselv) },
{ HP_POP(pc->maxjoblv, HP_pc_maxjoblv) },
{ HP_POP(pc->checkbaselevelup, HP_pc_checkbaselevelup) },
+ { HP_POP(pc->checkbaselevelup_sc, HP_pc_checkbaselevelup_sc) },
{ HP_POP(pc->checkjoblevelup, HP_pc_checkjoblevelup) },
{ HP_POP(pc->gainexp, HP_pc_gainexp) },
{ HP_POP(pc->nextbaseexp, HP_pc_nextbaseexp) },
@@ -2225,6 +2228,7 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(pc->resetlvl, HP_pc_resetlvl) },
{ HP_POP(pc->resetstate, HP_pc_resetstate) },
{ HP_POP(pc->resetskill, HP_pc_resetskill) },
+ { HP_POP(pc->resetskill_job, HP_pc_resetskill_job) },
{ HP_POP(pc->resetfeel, HP_pc_resetfeel) },
{ HP_POP(pc->resethate, HP_pc_resethate) },
{ HP_POP(pc->equipitem, HP_pc_equipitem) },
@@ -2285,7 +2289,9 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(pc->setinvincibletimer, HP_pc_setinvincibletimer) },
{ HP_POP(pc->delinvincibletimer, HP_pc_delinvincibletimer) },
{ HP_POP(pc->addspiritball, HP_pc_addspiritball) },
+ { HP_POP(pc->addspiritball_sub, HP_pc_addspiritball_sub) },
{ HP_POP(pc->delspiritball, HP_pc_delspiritball) },
+ { HP_POP(pc->delspiritball_sub, HP_pc_delspiritball_sub) },
{ HP_POP(pc->getmaxspiritball, HP_pc_getmaxspiritball) },
{ HP_POP(pc->addfame, HP_pc_addfame) },
{ HP_POP(pc->fame_rank, HP_pc_fame_rank) },
@@ -2330,6 +2336,7 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(pc->autosave, HP_pc_autosave) },
{ HP_POP(pc->follow_timer, HP_pc_follow_timer) },
{ HP_POP(pc->read_skill_tree, HP_pc_read_skill_tree) },
+ { HP_POP(pc->read_skill_job_skip, HP_pc_read_skill_job_skip) },
{ HP_POP(pc->clear_skill_tree, HP_pc_clear_skill_tree) },
{ HP_POP(pc->isUseitem, HP_pc_isUseitem) },
{ HP_POP(pc->show_steal, HP_pc_show_steal) },
@@ -2359,6 +2366,7 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(pc->process_chat_message, HP_pc_process_chat_message) },
{ HP_POP(pc->check_supernovice_call, HP_pc_check_supernovice_call) },
{ HP_POP(pc->check_basicskill, HP_pc_check_basicskill) },
+ { HP_POP(pc->isDeathPenaltyJob, HP_pc_isDeathPenaltyJob) },
/* pcre_interface */
{ HP_POP(libpcre->compile, HP_libpcre_compile) },
{ HP_POP(libpcre->study, HP_libpcre_study) },
@@ -3018,6 +3026,7 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(status->calc_pet_, HP_status_calc_pet_) },
{ HP_POP(status->calc_pc_, HP_status_calc_pc_) },
{ HP_POP(status->calc_pc_additional, HP_status_calc_pc_additional) },
+ { HP_POP(status->calc_pc_recover_hp, HP_status_calc_pc_recover_hp) },
{ HP_POP(status->calc_homunculus_, HP_status_calc_homunculus_) },
{ HP_POP(status->calc_mercenary_, HP_status_calc_mercenary_) },
{ HP_POP(status->calc_elemental_, HP_status_calc_elemental_) },
diff --git a/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc b/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc
index 007a1c004..e7eb005e2 100644
--- a/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc
+++ b/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc
@@ -44073,31 +44073,32 @@ void HP_map_iwall_get(struct map_session_data *sd) {
}
return;
}
-void HP_map_iwall_remove(const char *wall_name) {
+bool HP_map_iwall_remove(const char *wall_name) {
int hIndex = 0;
+ bool retVal___ = false;
if (HPMHooks.count.HP_map_iwall_remove_pre > 0) {
- void (*preHookFunc) (const char **wall_name);
+ bool (*preHookFunc) (const char **wall_name);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_map_iwall_remove_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_map_iwall_remove_pre[hIndex].func;
- preHookFunc(&wall_name);
+ retVal___ = preHookFunc(&wall_name);
}
if (*HPMforce_return) {
*HPMforce_return = false;
- return;
+ return retVal___;
}
}
{
- HPMHooks.source.map.iwall_remove(wall_name);
+ retVal___ = HPMHooks.source.map.iwall_remove(wall_name);
}
if (HPMHooks.count.HP_map_iwall_remove_post > 0) {
- void (*postHookFunc) (const char *wall_name);
+ bool (*postHookFunc) (bool retVal___, const char *wall_name);
for (hIndex = 0; hIndex < HPMHooks.count.HP_map_iwall_remove_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_map_iwall_remove_post[hIndex].func;
- postHookFunc(wall_name);
+ retVal___ = postHookFunc(retVal___, wall_name);
}
}
- return;
+ return retVal___;
}
int HP_map_addmobtolist(unsigned short m, struct spawn_data *spawn) {
int hIndex = 0;
@@ -56014,6 +56015,58 @@ int HP_pc_calc_skilltree(struct map_session_data *sd) {
}
return retVal___;
}
+void HP_pc_calc_skilltree_clear(struct map_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_pc_calc_skilltree_clear_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_pc_calc_skilltree_clear_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_pc_calc_skilltree_clear_pre[hIndex].func;
+ preHookFunc(&sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.pc.calc_skilltree_clear(sd);
+ }
+ if (HPMHooks.count.HP_pc_calc_skilltree_clear_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_pc_calc_skilltree_clear_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_pc_calc_skilltree_clear_post[hIndex].func;
+ postHookFunc(sd);
+ }
+ }
+ return;
+}
+void HP_pc_calc_skilltree_bonus(struct map_session_data *sd, int classidx) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_pc_calc_skilltree_bonus_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd, int *classidx);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_pc_calc_skilltree_bonus_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_pc_calc_skilltree_bonus_pre[hIndex].func;
+ preHookFunc(&sd, &classidx);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.pc.calc_skilltree_bonus(sd, classidx);
+ }
+ if (HPMHooks.count.HP_pc_calc_skilltree_bonus_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd, int classidx);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_pc_calc_skilltree_bonus_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_pc_calc_skilltree_bonus_post[hIndex].func;
+ postHookFunc(sd, classidx);
+ }
+ }
+ return;
+}
int HP_pc_calc_skilltree_normalize_job(struct map_session_data *sd) {
int hIndex = 0;
int retVal___ = 0;
@@ -57310,6 +57363,32 @@ int HP_pc_checkbaselevelup(struct map_session_data *sd) {
}
return retVal___;
}
+void HP_pc_checkbaselevelup_sc(struct map_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_pc_checkbaselevelup_sc_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_pc_checkbaselevelup_sc_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_pc_checkbaselevelup_sc_pre[hIndex].func;
+ preHookFunc(&sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.pc.checkbaselevelup_sc(sd);
+ }
+ if (HPMHooks.count.HP_pc_checkbaselevelup_sc_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_pc_checkbaselevelup_sc_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_pc_checkbaselevelup_sc_post[hIndex].func;
+ postHookFunc(sd);
+ }
+ }
+ return;
+}
int HP_pc_checkjoblevelup(struct map_session_data *sd) {
int hIndex = 0;
int retVal___ = 0;
@@ -57742,6 +57821,33 @@ int HP_pc_resetskill(struct map_session_data *sd, int flag) {
}
return retVal___;
}
+bool HP_pc_resetskill_job(struct map_session_data *sd, int index) {
+ int hIndex = 0;
+ bool retVal___ = false;
+ if (HPMHooks.count.HP_pc_resetskill_job_pre > 0) {
+ bool (*preHookFunc) (struct map_session_data **sd, int *index);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_pc_resetskill_job_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_pc_resetskill_job_pre[hIndex].func;
+ retVal___ = preHookFunc(&sd, &index);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.pc.resetskill_job(sd, index);
+ }
+ if (HPMHooks.count.HP_pc_resetskill_job_post > 0) {
+ bool (*postHookFunc) (bool retVal___, struct map_session_data *sd, int index);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_pc_resetskill_job_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_pc_resetskill_job_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, sd, index);
+ }
+ }
+ return retVal___;
+}
int HP_pc_resetfeel(struct map_session_data *sd) {
int hIndex = 0;
int retVal___ = 0;
@@ -59345,6 +59451,33 @@ int HP_pc_addspiritball(struct map_session_data *sd, int interval, int max) {
}
return retVal___;
}
+int HP_pc_addspiritball_sub(struct map_session_data *sd) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_pc_addspiritball_sub_pre > 0) {
+ int (*preHookFunc) (struct map_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_pc_addspiritball_sub_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_pc_addspiritball_sub_pre[hIndex].func;
+ retVal___ = preHookFunc(&sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.pc.addspiritball_sub(sd);
+ }
+ if (HPMHooks.count.HP_pc_addspiritball_sub_post > 0) {
+ int (*postHookFunc) (int retVal___, struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_pc_addspiritball_sub_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_pc_addspiritball_sub_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, sd);
+ }
+ }
+ return retVal___;
+}
int HP_pc_delspiritball(struct map_session_data *sd, int count, int type) {
int hIndex = 0;
int retVal___ = 0;
@@ -59372,6 +59505,33 @@ int HP_pc_delspiritball(struct map_session_data *sd, int count, int type) {
}
return retVal___;
}
+int HP_pc_delspiritball_sub(struct map_session_data *sd) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_pc_delspiritball_sub_pre > 0) {
+ int (*preHookFunc) (struct map_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_pc_delspiritball_sub_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_pc_delspiritball_sub_pre[hIndex].func;
+ retVal___ = preHookFunc(&sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.pc.delspiritball_sub(sd);
+ }
+ if (HPMHooks.count.HP_pc_delspiritball_sub_post > 0) {
+ int (*postHookFunc) (int retVal___, struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_pc_delspiritball_sub_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_pc_delspiritball_sub_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, sd);
+ }
+ }
+ return retVal___;
+}
int HP_pc_getmaxspiritball(struct map_session_data *sd, int min) {
int hIndex = 0;
int retVal___ = 0;
@@ -60567,6 +60727,33 @@ void HP_pc_read_skill_tree(void) {
}
return;
}
+bool HP_pc_read_skill_job_skip(short skill_id, int job_id) {
+ int hIndex = 0;
+ bool retVal___ = false;
+ if (HPMHooks.count.HP_pc_read_skill_job_skip_pre > 0) {
+ bool (*preHookFunc) (short *skill_id, int *job_id);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_pc_read_skill_job_skip_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_pc_read_skill_job_skip_pre[hIndex].func;
+ retVal___ = preHookFunc(&skill_id, &job_id);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.pc.read_skill_job_skip(skill_id, job_id);
+ }
+ if (HPMHooks.count.HP_pc_read_skill_job_skip_post > 0) {
+ bool (*postHookFunc) (bool retVal___, short skill_id, int job_id);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_pc_read_skill_job_skip_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_pc_read_skill_job_skip_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, skill_id, job_id);
+ }
+ }
+ return retVal___;
+}
void HP_pc_clear_skill_tree(void) {
int hIndex = 0;
if (HPMHooks.count.HP_pc_clear_skill_tree_pre > 0) {
@@ -61346,6 +61533,33 @@ bool HP_pc_check_basicskill(struct map_session_data *sd, int level) {
}
return retVal___;
}
+bool HP_pc_isDeathPenaltyJob(uint16 job) {
+ int hIndex = 0;
+ bool retVal___ = false;
+ if (HPMHooks.count.HP_pc_isDeathPenaltyJob_pre > 0) {
+ bool (*preHookFunc) (uint16 *job);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_pc_isDeathPenaltyJob_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_pc_isDeathPenaltyJob_pre[hIndex].func;
+ retVal___ = preHookFunc(&job);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.pc.isDeathPenaltyJob(job);
+ }
+ if (HPMHooks.count.HP_pc_isDeathPenaltyJob_post > 0) {
+ bool (*postHookFunc) (bool retVal___, uint16 job);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_pc_isDeathPenaltyJob_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_pc_isDeathPenaltyJob_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, job);
+ }
+ }
+ return retVal___;
+}
/* pcre_interface */
pcre* HP_libpcre_compile(const char *pattern, int options, const char **errptr, int *erroffset, const unsigned char *tableptr) {
int hIndex = 0;
@@ -79000,6 +79214,32 @@ void HP_status_calc_pc_additional(struct map_session_data *sd, enum e_status_cal
}
return;
}
+void HP_status_calc_pc_recover_hp(struct map_session_data *sd, struct status_data *bstatus) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_status_calc_pc_recover_hp_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd, struct status_data **bstatus);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_status_calc_pc_recover_hp_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_status_calc_pc_recover_hp_pre[hIndex].func;
+ preHookFunc(&sd, &bstatus);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.status.calc_pc_recover_hp(sd, bstatus);
+ }
+ if (HPMHooks.count.HP_status_calc_pc_recover_hp_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd, struct status_data *bstatus);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_status_calc_pc_recover_hp_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_status_calc_pc_recover_hp_post[hIndex].func;
+ postHookFunc(sd, bstatus);
+ }
+ }
+ return;
+}
int HP_status_calc_homunculus_(struct homun_data *hd, enum e_status_calc_opt opt) {
int hIndex = 0;
int retVal___ = 0;