summaryrefslogtreecommitdiff
path: root/src/map/skill.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/map/skill.c')
-rw-r--r--src/map/skill.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/map/skill.c b/src/map/skill.c
index 8d0b1cda9..e4fad5ff8 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -1541,11 +1541,13 @@ int skill_blown(struct block_list* src, struct block_list* target, int count, in
if( target->type == BL_PC )
{
- if( map_getcell(target->m, target->x, target->y, CELL_CHKNPC) )
- npc_touch_areanpc((TBL_PC*)target, target->m, target->x, target->y); //Invoke area NPC
-
- if( ((TBL_PC*)target)->ontouch.npc_id )
- npc_touchnext_areanpc(((TBL_PC*)target),false);
+ TBL_PC *sd = (TBL_PC*)target;
+ if( sd->touching_id )
+ npc_touchnext_areanpc(sd,false);
+ if( map_getcell(target->m,target->x,target->y,CELL_CHKNPC) )
+ npc_touch_areanpc(sd,target->m,target->x,target->y);
+ else
+ sd->areanpc_id=0;
}
return count; //Return amount of knocked back cells.