From 2cab196b9e4d8f257ba40861051b0c0a71cc1d8f Mon Sep 17 00:00:00 2001 From: "Hercules.ws" Date: Mon, 17 Feb 2014 23:05:46 +0100 Subject: HPM Hooks Update Signed-off-by: HerculesWSAPI --- src/plugins/HPMHooking/HPMHooking.HPMHooksCore.inc | 16 ++- .../HPMHooking/HPMHooking.HookingPoints.inc | 4 +- src/plugins/HPMHooking/HPMHooking.Hooks.inc | 140 ++++++++++++++------- 3 files changed, 111 insertions(+), 49 deletions(-) diff --git a/src/plugins/HPMHooking/HPMHooking.HPMHooksCore.inc b/src/plugins/HPMHooking/HPMHooking.HPMHooksCore.inc index ed58b79a3..22cd280de 100644 --- a/src/plugins/HPMHooking/HPMHooking.HPMHooksCore.inc +++ b/src/plugins/HPMHooking/HPMHooking.HPMHooksCore.inc @@ -97,6 +97,8 @@ struct { struct HPMHookPoint *HP_battle_calc_elefix_post; struct HPMHookPoint *HP_battle_calc_masteryfix_pre; struct HPMHookPoint *HP_battle_calc_masteryfix_post; + struct HPMHookPoint *HP_battle_calc_chorusbonus_pre; + struct HPMHookPoint *HP_battle_calc_chorusbonus_post; struct HPMHookPoint *HP_battle_calc_skillratio_pre; struct HPMHookPoint *HP_battle_calc_skillratio_post; struct HPMHookPoint *HP_battle_calc_sizefix_pre; @@ -3441,6 +3443,8 @@ struct { struct HPMHookPoint *HP_party_send_dot_remove_post; struct HPMHookPoint *HP_party_sub_count_pre; struct HPMHookPoint *HP_party_sub_count_post; + struct HPMHookPoint *HP_party_sub_count_chorus_pre; + struct HPMHookPoint *HP_party_sub_count_chorus_post; struct HPMHookPoint *HP_party_booking_register_pre; struct HPMHookPoint *HP_party_booking_register_post; struct HPMHookPoint *HP_party_booking_update_pre; @@ -4655,8 +4659,6 @@ struct { struct HPMHookPoint *HP_skill_get_elemental_type_post; struct HPMHookPoint *HP_skill_cooldown_save_pre; struct HPMHookPoint *HP_skill_cooldown_save_post; - struct HPMHookPoint *HP_skill_maelstrom_suction_pre; - struct HPMHookPoint *HP_skill_maelstrom_suction_post; struct HPMHookPoint *HP_skill_get_new_group_id_pre; struct HPMHookPoint *HP_skill_get_new_group_id_post; struct HPMHookPoint *HP_skill_check_shadowform_pre; @@ -4691,6 +4693,8 @@ struct { struct HPMHookPoint *HP_status_heal_post; struct HPMHookPoint *HP_status_revive_pre; struct HPMHookPoint *HP_status_revive_post; + struct HPMHookPoint *HP_status_fixed_revive_pre; + struct HPMHookPoint *HP_status_fixed_revive_post; struct HPMHookPoint *HP_status_get_regen_data_pre; struct HPMHookPoint *HP_status_get_regen_data_post; struct HPMHookPoint *HP_status_get_status_data_pre; @@ -5124,6 +5128,8 @@ struct { int HP_battle_calc_elefix_post; int HP_battle_calc_masteryfix_pre; int HP_battle_calc_masteryfix_post; + int HP_battle_calc_chorusbonus_pre; + int HP_battle_calc_chorusbonus_post; int HP_battle_calc_skillratio_pre; int HP_battle_calc_skillratio_post; int HP_battle_calc_sizefix_pre; @@ -8468,6 +8474,8 @@ struct { int HP_party_send_dot_remove_post; int HP_party_sub_count_pre; int HP_party_sub_count_post; + int HP_party_sub_count_chorus_pre; + int HP_party_sub_count_chorus_post; int HP_party_booking_register_pre; int HP_party_booking_register_post; int HP_party_booking_update_pre; @@ -9682,8 +9690,6 @@ struct { int HP_skill_get_elemental_type_post; int HP_skill_cooldown_save_pre; int HP_skill_cooldown_save_post; - int HP_skill_maelstrom_suction_pre; - int HP_skill_maelstrom_suction_post; int HP_skill_get_new_group_id_pre; int HP_skill_get_new_group_id_post; int HP_skill_check_shadowform_pre; @@ -9718,6 +9724,8 @@ struct { int HP_status_heal_post; int HP_status_revive_pre; int HP_status_revive_post; + int HP_status_fixed_revive_pre; + int HP_status_fixed_revive_post; int HP_status_get_regen_data_pre; int HP_status_get_regen_data_post; int HP_status_get_status_data_pre; diff --git a/src/plugins/HPMHooking/HPMHooking.HookingPoints.inc b/src/plugins/HPMHooking/HPMHooking.HookingPoints.inc index d43852d40..4e85449b1 100644 --- a/src/plugins/HPMHooking/HPMHooking.HookingPoints.inc +++ b/src/plugins/HPMHooking/HPMHooking.HookingPoints.inc @@ -53,6 +53,7 @@ struct HookingPointData HookingPoints[] = { { HP_POP(battle->calc_cardfix, HP_battle_calc_cardfix) }, { HP_POP(battle->calc_elefix, HP_battle_calc_elefix) }, { HP_POP(battle->calc_masteryfix, HP_battle_calc_masteryfix) }, + { HP_POP(battle->calc_chorusbonus, HP_battle_calc_chorusbonus) }, { HP_POP(battle->calc_skillratio, HP_battle_calc_skillratio) }, { HP_POP(battle->calc_sizefix, HP_battle_calc_sizefix) }, { HP_POP(battle->calc_weapon_damage, HP_battle_calc_weapon_damage) }, @@ -1748,6 +1749,7 @@ struct HookingPointData HookingPoints[] = { { HP_POP(party->share_loot, HP_party_share_loot) }, { HP_POP(party->send_dot_remove, HP_party_send_dot_remove) }, { HP_POP(party->sub_count, HP_party_sub_count) }, + { HP_POP(party->sub_count_chorus, HP_party_sub_count_chorus) }, { HP_POP(party->booking_register, HP_party_booking_register) }, { HP_POP(party->booking_update, HP_party_booking_update) }, { HP_POP(party->booking_search, HP_party_booking_search) }, @@ -2363,7 +2365,6 @@ struct HookingPointData HookingPoints[] = { { HP_POP(skill->changematerial, HP_skill_changematerial) }, { HP_POP(skill->get_elemental_type, HP_skill_get_elemental_type) }, { HP_POP(skill->cooldown_save, HP_skill_cooldown_save) }, - { HP_POP(skill->maelstrom_suction, HP_skill_maelstrom_suction) }, { HP_POP(skill->get_new_group_id, HP_skill_get_new_group_id) }, { HP_POP(skill->check_shadowform, HP_skill_check_shadowform) }, /* status */ @@ -2382,6 +2383,7 @@ struct HookingPointData HookingPoints[] = { { HP_POP(status->set_sp, HP_status_set_sp) }, { HP_POP(status->heal, HP_status_heal) }, { HP_POP(status->revive, HP_status_revive) }, + { HP_POP(status->fixed_revive, HP_status_fixed_revive) }, { HP_POP(status->get_regen_data, HP_status_get_regen_data) }, { HP_POP(status->get_status_data, HP_status_get_status_data) }, { HP_POP(status->get_base_status, HP_status_get_base_status) }, diff --git a/src/plugins/HPMHooking/HPMHooking.Hooks.inc b/src/plugins/HPMHooking/HPMHooking.Hooks.inc index 488d40613..8a9bd1790 100644 --- a/src/plugins/HPMHooking/HPMHooking.Hooks.inc +++ b/src/plugins/HPMHooking/HPMHooking.Hooks.inc @@ -1230,6 +1230,32 @@ int64 HP_battle_calc_masteryfix(struct block_list *src, struct block_list *targe } return retVal___; } +int HP_battle_calc_chorusbonus(struct map_session_data *sd) { + int hIndex = 0; + int retVal___ = 0; + if( HPMHooks.count.HP_battle_calc_chorusbonus_pre ) { + int (*preHookFunc) (struct map_session_data *sd); + for(hIndex = 0; hIndex < HPMHooks.count.HP_battle_calc_chorusbonus_pre; hIndex++ ) { + preHookFunc = HPMHooks.list.HP_battle_calc_chorusbonus_pre[hIndex].func; + retVal___ = preHookFunc(sd); + } + if( *HPMforce_return ) { + *HPMforce_return = false; + return retVal___; + } + } + { + retVal___ = HPMHooks.source.battle.calc_chorusbonus(sd); + } + if( HPMHooks.count.HP_battle_calc_chorusbonus_post ) { + int (*postHookFunc) (int retVal___, struct map_session_data *sd); + for(hIndex = 0; hIndex < HPMHooks.count.HP_battle_calc_chorusbonus_post; hIndex++ ) { + postHookFunc = HPMHooks.list.HP_battle_calc_chorusbonus_post[hIndex].func; + retVal___ = postHookFunc(retVal___, sd); + } + } + return retVal___; +} int HP_battle_calc_skillratio(int attack_type, struct block_list *src, struct block_list *target, uint16 skill_id, uint16 skill_lv, int skillratio, int flag) { int hIndex = 0; int retVal___ = 0; @@ -44288,6 +44314,38 @@ int HP_party_sub_count(struct block_list *bl, va_list ap) { } return retVal___; } +int HP_party_sub_count_chorus(struct block_list *bl, va_list ap) { + int hIndex = 0; + int retVal___ = 0; + if( HPMHooks.count.HP_party_sub_count_chorus_pre ) { + int (*preHookFunc) (struct block_list *bl, va_list ap); + for(hIndex = 0; hIndex < HPMHooks.count.HP_party_sub_count_chorus_pre; hIndex++ ) { + va_list ap___copy; va_copy(ap___copy, ap); + preHookFunc = HPMHooks.list.HP_party_sub_count_chorus_pre[hIndex].func; + retVal___ = preHookFunc(bl, ap___copy); + va_end(ap___copy); + } + if( *HPMforce_return ) { + *HPMforce_return = false; + return retVal___; + } + } + { + va_list ap___copy; va_copy(ap___copy, ap); + retVal___ = HPMHooks.source.party.sub_count_chorus(bl, ap___copy); + va_end(ap___copy); + } + if( HPMHooks.count.HP_party_sub_count_chorus_post ) { + int (*postHookFunc) (int retVal___, struct block_list *bl, va_list ap); + for(hIndex = 0; hIndex < HPMHooks.count.HP_party_sub_count_chorus_post; hIndex++ ) { + va_list ap___copy; va_copy(ap___copy, ap); + postHookFunc = HPMHooks.list.HP_party_sub_count_chorus_post[hIndex].func; + retVal___ = postHookFunc(retVal___, bl, ap___copy); + va_end(ap___copy); + } + } + return retVal___; +} void HP_party_booking_register(struct map_session_data *sd, short level, short mapid, short *job) { int hIndex = 0; if( HPMHooks.count.HP_party_booking_register_pre ) { @@ -60290,38 +60348,6 @@ void HP_skill_cooldown_save(struct map_session_data *sd) { } return; } -int HP_skill_maelstrom_suction(struct block_list *bl, va_list ap) { - int hIndex = 0; - int retVal___ = 0; - if( HPMHooks.count.HP_skill_maelstrom_suction_pre ) { - int (*preHookFunc) (struct block_list *bl, va_list ap); - for(hIndex = 0; hIndex < HPMHooks.count.HP_skill_maelstrom_suction_pre; hIndex++ ) { - va_list ap___copy; va_copy(ap___copy, ap); - preHookFunc = HPMHooks.list.HP_skill_maelstrom_suction_pre[hIndex].func; - retVal___ = preHookFunc(bl, ap___copy); - va_end(ap___copy); - } - if( *HPMforce_return ) { - *HPMforce_return = false; - return retVal___; - } - } - { - va_list ap___copy; va_copy(ap___copy, ap); - retVal___ = HPMHooks.source.skill.maelstrom_suction(bl, ap___copy); - va_end(ap___copy); - } - if( HPMHooks.count.HP_skill_maelstrom_suction_post ) { - int (*postHookFunc) (int retVal___, struct block_list *bl, va_list ap); - for(hIndex = 0; hIndex < HPMHooks.count.HP_skill_maelstrom_suction_post; hIndex++ ) { - va_list ap___copy; va_copy(ap___copy, ap); - postHookFunc = HPMHooks.list.HP_skill_maelstrom_suction_post[hIndex].func; - retVal___ = postHookFunc(retVal___, bl, ap___copy); - va_end(ap___copy); - } - } - return retVal___; -} int HP_skill_get_new_group_id(void) { int hIndex = 0; int retVal___ = 0; @@ -60764,6 +60790,32 @@ int HP_status_revive(struct block_list *bl, unsigned char per_hp, unsigned char } return retVal___; } +int HP_status_fixed_revive(struct block_list *bl, unsigned int per_hp, unsigned int per_sp) { + int hIndex = 0; + int retVal___ = 0; + if( HPMHooks.count.HP_status_fixed_revive_pre ) { + int (*preHookFunc) (struct block_list *bl, unsigned int *per_hp, unsigned int *per_sp); + for(hIndex = 0; hIndex < HPMHooks.count.HP_status_fixed_revive_pre; hIndex++ ) { + preHookFunc = HPMHooks.list.HP_status_fixed_revive_pre[hIndex].func; + retVal___ = preHookFunc(bl, &per_hp, &per_sp); + } + if( *HPMforce_return ) { + *HPMforce_return = false; + return retVal___; + } + } + { + retVal___ = HPMHooks.source.status.fixed_revive(bl, per_hp, per_sp); + } + if( HPMHooks.count.HP_status_fixed_revive_post ) { + int (*postHookFunc) (int retVal___, struct block_list *bl, unsigned int *per_hp, unsigned int *per_sp); + for(hIndex = 0; hIndex < HPMHooks.count.HP_status_fixed_revive_post; hIndex++ ) { + postHookFunc = HPMHooks.list.HP_status_fixed_revive_post[hIndex].func; + retVal___ = postHookFunc(retVal___, bl, &per_hp, &per_sp); + } + } + return retVal___; +} struct regen_data* HP_status_get_regen_data(struct block_list *bl) { int hIndex = 0; struct regen_data* retVal___ = NULL; @@ -61282,14 +61334,14 @@ int HP_status_isimmune(struct block_list *bl) { } return retVal___; } -int HP_status_get_sc_def(struct block_list *bl, enum sc_type type, int rate, int tick, int flag) { +int HP_status_get_sc_def(struct block_list *src, struct block_list *bl, enum sc_type type, int rate, int tick, int flag) { int hIndex = 0; int retVal___ = 0; if( HPMHooks.count.HP_status_get_sc_def_pre ) { - int (*preHookFunc) (struct block_list *bl, enum sc_type *type, int *rate, int *tick, int *flag); + int (*preHookFunc) (struct block_list *src, struct block_list *bl, enum sc_type *type, int *rate, int *tick, int *flag); for(hIndex = 0; hIndex < HPMHooks.count.HP_status_get_sc_def_pre; hIndex++ ) { preHookFunc = HPMHooks.list.HP_status_get_sc_def_pre[hIndex].func; - retVal___ = preHookFunc(bl, &type, &rate, &tick, &flag); + retVal___ = preHookFunc(src, bl, &type, &rate, &tick, &flag); } if( *HPMforce_return ) { *HPMforce_return = false; @@ -61297,25 +61349,25 @@ int HP_status_get_sc_def(struct block_list *bl, enum sc_type type, int rate, int } } { - retVal___ = HPMHooks.source.status.get_sc_def(bl, type, rate, tick, flag); + retVal___ = HPMHooks.source.status.get_sc_def(src, bl, type, rate, tick, flag); } if( HPMHooks.count.HP_status_get_sc_def_post ) { - int (*postHookFunc) (int retVal___, struct block_list *bl, enum sc_type *type, int *rate, int *tick, int *flag); + int (*postHookFunc) (int retVal___, struct block_list *src, struct block_list *bl, enum sc_type *type, int *rate, int *tick, int *flag); for(hIndex = 0; hIndex < HPMHooks.count.HP_status_get_sc_def_post; hIndex++ ) { postHookFunc = HPMHooks.list.HP_status_get_sc_def_post[hIndex].func; - retVal___ = postHookFunc(retVal___, bl, &type, &rate, &tick, &flag); + retVal___ = postHookFunc(retVal___, src, bl, &type, &rate, &tick, &flag); } } return retVal___; } -int HP_status_change_start(struct block_list *bl, enum sc_type type, int rate, int val1, int val2, int val3, int val4, int tick, int flag) { +int HP_status_change_start(struct block_list *src, struct block_list *bl, enum sc_type type, int rate, int val1, int val2, int val3, int val4, int tick, int flag) { int hIndex = 0; int retVal___ = 0; if( HPMHooks.count.HP_status_change_start_pre ) { - int (*preHookFunc) (struct block_list *bl, enum sc_type *type, int *rate, int *val1, int *val2, int *val3, int *val4, int *tick, int *flag); + int (*preHookFunc) (struct block_list *src, struct block_list *bl, enum sc_type *type, int *rate, int *val1, int *val2, int *val3, int *val4, int *tick, int *flag); for(hIndex = 0; hIndex < HPMHooks.count.HP_status_change_start_pre; hIndex++ ) { preHookFunc = HPMHooks.list.HP_status_change_start_pre[hIndex].func; - retVal___ = preHookFunc(bl, &type, &rate, &val1, &val2, &val3, &val4, &tick, &flag); + retVal___ = preHookFunc(src, bl, &type, &rate, &val1, &val2, &val3, &val4, &tick, &flag); } if( *HPMforce_return ) { *HPMforce_return = false; @@ -61323,13 +61375,13 @@ int HP_status_change_start(struct block_list *bl, enum sc_type type, int rate, i } } { - retVal___ = HPMHooks.source.status.change_start(bl, type, rate, val1, val2, val3, val4, tick, flag); + retVal___ = HPMHooks.source.status.change_start(src, bl, type, rate, val1, val2, val3, val4, tick, flag); } if( HPMHooks.count.HP_status_change_start_post ) { - int (*postHookFunc) (int retVal___, struct block_list *bl, enum sc_type *type, int *rate, int *val1, int *val2, int *val3, int *val4, int *tick, int *flag); + int (*postHookFunc) (int retVal___, struct block_list *src, struct block_list *bl, enum sc_type *type, int *rate, int *val1, int *val2, int *val3, int *val4, int *tick, int *flag); for(hIndex = 0; hIndex < HPMHooks.count.HP_status_change_start_post; hIndex++ ) { postHookFunc = HPMHooks.list.HP_status_change_start_post[hIndex].func; - retVal___ = postHookFunc(retVal___, bl, &type, &rate, &val1, &val2, &val3, &val4, &tick, &flag); + retVal___ = postHookFunc(retVal___, src, bl, &type, &rate, &val1, &val2, &val3, &val4, &tick, &flag); } } return retVal___; -- cgit v1.2.3-70-g09d2