summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc4
-rw-r--r--src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc1
-rw-r--r--src/plugins/HPMHooking/HPMHooking_map.Hooks.inc27
3 files changed, 32 insertions, 0 deletions
diff --git a/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc b/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc
index 984b0d0fa..e394711d1 100644
--- a/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc
+++ b/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc
@@ -99,6 +99,8 @@ struct {
struct HPMHookPoint *HP_battle_attr_fix_post;
struct HPMHookPoint *HP_battle_calc_cardfix_pre;
struct HPMHookPoint *HP_battle_calc_cardfix_post;
+ struct HPMHookPoint *HP_battle_calc_cardfix2_pre;
+ struct HPMHookPoint *HP_battle_calc_cardfix2_post;
struct HPMHookPoint *HP_battle_calc_elefix_pre;
struct HPMHookPoint *HP_battle_calc_elefix_post;
struct HPMHookPoint *HP_battle_calc_masteryfix_pre;
@@ -5302,6 +5304,8 @@ struct {
int HP_battle_attr_fix_post;
int HP_battle_calc_cardfix_pre;
int HP_battle_calc_cardfix_post;
+ int HP_battle_calc_cardfix2_pre;
+ int HP_battle_calc_cardfix2_post;
int HP_battle_calc_elefix_pre;
int HP_battle_calc_elefix_post;
int HP_battle_calc_masteryfix_pre;
diff --git a/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc b/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc
index c1c848b51..0b9804a1c 100644
--- a/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc
+++ b/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc
@@ -54,6 +54,7 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(battle->attr_ratio, HP_battle_attr_ratio) },
{ HP_POP(battle->attr_fix, HP_battle_attr_fix) },
{ HP_POP(battle->calc_cardfix, HP_battle_calc_cardfix) },
+ { HP_POP(battle->calc_cardfix2, HP_battle_calc_cardfix2) },
{ 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) },
diff --git a/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc b/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc
index 5a1c35c2e..aadf7a6f5 100644
--- a/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc
+++ b/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc
@@ -1302,6 +1302,33 @@ int64 HP_battle_calc_cardfix(int attack_type, struct block_list *src, struct blo
}
return retVal___;
}
+int64 HP_battle_calc_cardfix2(struct block_list *src, struct block_list *bl, int64 damage, int s_ele, int nk, int flag) {
+ int hIndex = 0;
+ int64 retVal___ = 0;
+ if( HPMHooks.count.HP_battle_calc_cardfix2_pre ) {
+ int64 (*preHookFunc) (struct block_list *src, struct block_list *bl, int64 *damage, int *s_ele, int *nk, int *flag);
+ *HPMforce_return = false;
+ for(hIndex = 0; hIndex < HPMHooks.count.HP_battle_calc_cardfix2_pre; hIndex++ ) {
+ preHookFunc = HPMHooks.list.HP_battle_calc_cardfix2_pre[hIndex].func;
+ retVal___ = preHookFunc(src, bl, &damage, &s_ele, &nk, &flag);
+ }
+ if( *HPMforce_return ) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.battle.calc_cardfix2(src, bl, damage, s_ele, nk, flag);
+ }
+ if( HPMHooks.count.HP_battle_calc_cardfix2_post ) {
+ int64 (*postHookFunc) (int64 retVal___, struct block_list *src, struct block_list *bl, int64 *damage, int *s_ele, int *nk, int *flag);
+ for(hIndex = 0; hIndex < HPMHooks.count.HP_battle_calc_cardfix2_post; hIndex++ ) {
+ postHookFunc = HPMHooks.list.HP_battle_calc_cardfix2_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, src, bl, &damage, &s_ele, &nk, &flag);
+ }
+ }
+ return retVal___;
+}
int64 HP_battle_calc_elefix(struct block_list *src, struct block_list *target, uint16 skill_id, uint16 skill_lv, int64 damage, int nk, int n_ele, int s_ele, int s_ele_, bool left, int flag) {
int hIndex = 0;
int64 retVal___ = 0;