diff options
Diffstat (limited to 'src/plugins')
-rw-r--r-- | src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc | 4 | ||||
-rw-r--r-- | src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc | 1 | ||||
-rw-r--r-- | src/plugins/HPMHooking/HPMHooking_map.Hooks.inc | 27 |
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; |