diff options
author | shennetsind <ind@henn.et> | 2014-03-16 12:58:19 -0300 |
---|---|---|
committer | shennetsind <ind@henn.et> | 2014-03-16 12:58:19 -0300 |
commit | 8c6547a5c3ec4d6b1845b60d14b0aae5c827892c (patch) | |
tree | 082922b693692e061c3f0455d41e7323bd9c0828 /src/map/skill.c | |
parent | 4fe6f657e682b9c722b15346f31ec3fe0298b9d9 (diff) | |
parent | 48d29089a06bb207276ef53754e6a0d217cfcc77 (diff) | |
download | hercules-8c6547a5c3ec4d6b1845b60d14b0aae5c827892c.tar.gz hercules-8c6547a5c3ec4d6b1845b60d14b0aae5c827892c.tar.bz2 hercules-8c6547a5c3ec4d6b1845b60d14b0aae5c827892c.tar.xz hercules-8c6547a5c3ec4d6b1845b60d14b0aae5c827892c.zip |
Merge branch 'master' of https://github.com/HerculesWS/Hercules
Diffstat (limited to 'src/map/skill.c')
-rw-r--r-- | src/map/skill.c | 29 |
1 files changed, 7 insertions, 22 deletions
diff --git a/src/map/skill.c b/src/map/skill.c index 554528af2..78f5fe3f1 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -3264,16 +3264,9 @@ int skill_timerskill(int tid, int64 tick, int id, intptr_t data) { skill->unitsetting(src,skl->skill_id,skl->skill_lv,skl->x,skl->y,(skl->type<<16)|skl->flag); break; case LG_OVERBRAND_BRANDISH: - { - short x2 = src->x, y2 = src->y, x = x2, y = y2; - switch( skl->type ){ - case 0: case 1: case 7: x2 += 4; x -= 4; y2 += 4; break; - case 3: case 4: case 5: x2 += 4; x -= 4; y -= 4; break; - case 2: y2 += 4; y -= 4; x -= 4; break; - case 6: y2 += 4; y -= 4; x2 += 4; break; - } - map->foreachinarea(skill->area_sub, src->m, x, y, x2, y2, BL_CHAR, src, skl->skill_id, skl->skill_lv, tick, skl->flag|BCT_ENEMY|SD_ANIMATION|1,skill->castend_damage_id); - } + skill->area_temp[1] = 0; + map->foreachinpath(skill->attack_area,src->m,src->x,src->y,skl->x,skl->y,4,2,BL_CHAR, + skill->get_type(skl->skill_id),src,src,skl->skill_id,skl->skill_lv,tick,skl->flag,BCT_ENEMY); break; case GN_CRAZYWEED: if( skl->type >= 0 ) { @@ -10423,18 +10416,10 @@ int skill_castend_pos2(struct block_list* src, int x, int y, uint16 skill_id, ui break; case LG_OVERBRAND: - { - uint8 dir = map->calc_dir(src, x, y); - uint8 x2 = x = src->x, y2 = y = src->y; - switch( dir ){ - case 0: case 1: case 7: x2++; x--; y2 += 7; break; - case 3: case 4: case 5: x2++; x--; y -= 7; break; - case 2: y2++; y--; x -= 7;break; - case 6: y2++; y--; x2 += 7;break; - } - map->foreachinarea(skill->area_sub, src->m, x, y, x2, y2, BL_CHAR, src, skill_id, skill_lv, tick, flag|BCT_ENEMY|SD_ANIMATION|1,skill->castend_damage_id); - skill->addtimerskill(src,timer->gettick() + status_get_amotion(src), 0, 0, 0, LG_OVERBRAND_BRANDISH, skill_lv, dir, flag); - } + skill->area_temp[1] = 0; + map->foreachinpath(skill->attack_area,src->m,src->x,src->y,x,y,1,5,BL_CHAR, + skill->get_type(skill_id),src,src,skill_id,skill_lv,tick,flag,BCT_ENEMY); + skill->addtimerskill(src,timer->gettick() + status_get_amotion(src), 0, x, y, LG_OVERBRAND_BRANDISH, skill_lv, 0, flag); break; case LG_BANDING: |