From afdd8d3897a347a746bd73682999c8613be59c6b Mon Sep 17 00:00:00 2001 From: Lemongrass3110 Date: Mon, 13 Jul 2020 10:19:52 +0200 Subject: [PATCH] Cancel skill usage keeping on death (#5206) Fixes #5058 Thanks to @admkakaroto and @qwerty7vp --- src/map/pc.cpp | 5 +++++ src/map/skill.cpp | 1 + 2 files changed, 6 insertions(+) diff --git a/src/map/pc.cpp b/src/map/pc.cpp index 943690204d..66926eea87 100755 --- a/src/map/pc.cpp +++ b/src/map/pc.cpp @@ -8323,6 +8323,11 @@ int pc_dead(struct map_session_data *sd,struct block_list *src) duel_reject(sd->duel_invite, sd); } + if( sd->skill_keep_using.tid != INVALID_TIMER ){ + delete_timer( sd->skill_keep_using.tid, skill_keep_using ); + sd->skill_keep_using.tid = INVALID_TIMER; + } + pc_close_npc(sd,2); //close npc if we were using one /* e.g. not killed thru pc_damage */ diff --git a/src/map/skill.cpp b/src/map/skill.cpp index cfe690426b..7a7cbd1da5 100755 --- a/src/map/skill.cpp +++ b/src/map/skill.cpp @@ -23141,6 +23141,7 @@ void do_init_skill(void) add_timer_func_list(skill_castend_pos,"skill_castend_pos"); add_timer_func_list(skill_timerskill,"skill_timerskill"); add_timer_func_list(skill_blockpc_end, "skill_blockpc_end"); + add_timer_func_list(skill_keep_using, "skill_keep_using"); add_timer_interval(gettick()+SKILLUNITTIMER_INTERVAL,skill_unit_timer,0,0,SKILLUNITTIMER_INTERVAL); }