diff options
Diffstat (limited to 'src/map/status.c')
-rw-r--r-- | src/map/status.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/map/status.c b/src/map/status.c index 61b269ace..bd9bba811 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -6200,6 +6200,9 @@ int status_change_start(struct block_list* bl,enum sc_type type,int rate,int val break; } + if( sd && sd->ontouch.npc_id ) + npc_touchnext_areanpc(sd,false); + return 1; } /*========================================== @@ -6495,8 +6498,8 @@ int status_change_end(struct block_list* bl, enum sc_type type, int tid) int range = 1 +skill_get_range2(bl, status_sc2skill(type), sce->val1) +skill_get_range2(bl, TF_BACKSLIDING, 1); //Since most people use this to escape the hold.... - map_foreachinarea(status_change_timer_sub, - bl->m, bl->x-range, bl->y-range, bl->x+range,bl->y+range,BL_CHAR,bl,sce,type,gettick()); + map_forsomeinarea(status_change_timer_sub, + bl->m, bl->x-range, bl->y-range, bl->x+range,bl->y+range,0,BL_CHAR,bl,sce,type,gettick()); } break; case SC_COMBO: //Clear last used skill when it is part of a combo. |