summaryrefslogtreecommitdiff
path: root/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc
diff options
context:
space:
mode:
authormalufett <malufett.eat.my.binaries@gmail.com>2015-01-12 02:12:55 +0800
committermalufett <malufett.eat.my.binaries@gmail.com>2015-01-12 02:12:55 +0800
commit819bc0c5bb225c51be77e585d5e1c8af00850657 (patch)
treecd1a6b2e6b32a4d0a135edab6190cdb8a6133577 /src/plugins/HPMHooking/HPMHooking_map.Hooks.inc
parent670fca4c54445440c25e1114e64170e3934645f1 (diff)
downloadhercules-819bc0c5bb225c51be77e585d5e1c8af00850657.tar.gz
hercules-819bc0c5bb225c51be77e585d5e1c8af00850657.tar.bz2
hercules-819bc0c5bb225c51be77e585d5e1c8af00850657.tar.xz
hercules-819bc0c5bb225c51be77e585d5e1c8af00850657.zip
Fixed Bug where skill timer is not properly terminated/clear when the caster dies.
-Thanks to GM Nihad. Signed-off-by: malufett <malufett.eat.my.binaries@gmail.com>
Diffstat (limited to 'src/plugins/HPMHooking/HPMHooking_map.Hooks.inc')
-rw-r--r--src/plugins/HPMHooking/HPMHooking_map.Hooks.inc29
1 files changed, 15 insertions, 14 deletions
diff --git a/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc b/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc
index 9efaa6718..e4e87abb9 100644
--- a/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc
+++ b/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc
@@ -63837,31 +63837,32 @@ void HP_skill_timerskill_notarget_unknown(int tid, int64 tick, struct block_list
}
return;
}
-void HP_skill_cleartimerskill_unknown(int skill_id) {
+bool HP_skill_cleartimerskill_exception(int skill_id) {
int hIndex = 0;
- if( HPMHooks.count.HP_skill_cleartimerskill_unknown_pre ) {
- void (*preHookFunc) (int *skill_id);
+ bool retVal___ = false;
+ if( HPMHooks.count.HP_skill_cleartimerskill_exception_pre ) {
+ bool (*preHookFunc) (int *skill_id);
*HPMforce_return = false;
- for(hIndex = 0; hIndex < HPMHooks.count.HP_skill_cleartimerskill_unknown_pre; hIndex++ ) {
- preHookFunc = HPMHooks.list.HP_skill_cleartimerskill_unknown_pre[hIndex].func;
- preHookFunc(&skill_id);
+ for(hIndex = 0; hIndex < HPMHooks.count.HP_skill_cleartimerskill_exception_pre; hIndex++ ) {
+ preHookFunc = HPMHooks.list.HP_skill_cleartimerskill_exception_pre[hIndex].func;
+ retVal___ = preHookFunc(&skill_id);
}
if( *HPMforce_return ) {
*HPMforce_return = false;
- return;
+ return retVal___;
}
}
{
- HPMHooks.source.skill.cleartimerskill_unknown(skill_id);
+ retVal___ = HPMHooks.source.skill.cleartimerskill_exception(skill_id);
}
- if( HPMHooks.count.HP_skill_cleartimerskill_unknown_post ) {
- void (*postHookFunc) (int *skill_id);
- for(hIndex = 0; hIndex < HPMHooks.count.HP_skill_cleartimerskill_unknown_post; hIndex++ ) {
- postHookFunc = HPMHooks.list.HP_skill_cleartimerskill_unknown_post[hIndex].func;
- postHookFunc(&skill_id);
+ if( HPMHooks.count.HP_skill_cleartimerskill_exception_post ) {
+ bool (*postHookFunc) (bool retVal___, int *skill_id);
+ for(hIndex = 0; hIndex < HPMHooks.count.HP_skill_cleartimerskill_exception_post; hIndex++ ) {
+ postHookFunc = HPMHooks.list.HP_skill_cleartimerskill_exception_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, &skill_id);
}
}
- return;
+ return retVal___;
}
bool HP_skill_castend_id_unknown(struct unit_data *ud, struct block_list *src, struct block_list *target) {
int hIndex = 0;