This is my script on skill.cpp
how to work on emp?
case DOTASWAP:
if ( (dstsd || dstmd) || !status_has_mode(tstatus,MD_IGNOREMELEE|MD_IGNOREMAGIC|MD_IGNORERANGED|MD_IGNOREMISC)) {
int x = src->x, y = src->y;
if (skill_check_unit_movepos(5,src,bl->x,bl->y,0,0)) {
clif_skill_nodamage(src, src, skill_id, skill_lv, 1);
clif_blown(src);
unit_movepos(bl,x,y,0,0);
if (bl->type == BL_PC && pc_issit((TBL_PC*)bl))
clif_sitting(bl); //Avoid sitting sync problem
clif_blown(bl);
map_foreachinallrange(unit_changetarget, src, AREA_SIZE, BL_CHAR, src, bl);
}
}
break;