summaryrefslogtreecommitdiff
path: root/src/map/unit.c
diff options
context:
space:
mode:
authordastgirpojee <dastgirpojee@rocketmail.com>2015-01-11 10:13:44 +0530
committerdastgirpojee <dastgirpojee@rocketmail.com>2015-01-11 10:13:44 +0530
commit39318bbcb59a8885ad2df64681945906305b0a12 (patch)
treede31f9d26e8fd82ae72ed7093e2210fd6147a742 /src/map/unit.c
parente99cbac3f1d0354566da5887ab4f01c6737dd0de (diff)
parentc1c42d4021a9eacd467f2c9a9c10a62c9c1ad7b2 (diff)
downloadhercules-39318bbcb59a8885ad2df64681945906305b0a12.tar.gz
hercules-39318bbcb59a8885ad2df64681945906305b0a12.tar.bz2
hercules-39318bbcb59a8885ad2df64681945906305b0a12.tar.xz
hercules-39318bbcb59a8885ad2df64681945906305b0a12.zip
Merge branch 'master' of https://github.com/HerculesWS/Hercules
Diffstat (limited to 'src/map/unit.c')
-rw-r--r--src/map/unit.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/map/unit.c b/src/map/unit.c
index deb061f78..7f41f4709 100644
--- a/src/map/unit.c
+++ b/src/map/unit.c
@@ -1599,6 +1599,8 @@ int unit_skilluse_id2(struct block_list *src, int target_id, uint16 skill_id, ui
ud->skill_lv = skill_lv;
if( casttime > 0 ) {
+ if (src->id != target->id) // self-targeted skills shouldn't show different direction
+ unit->setdir(src, map->calc_dir(src, target->x, target->y));
ud->skilltimer = timer->add( tick+casttime, skill->castend_id, src->id, 0 );
if( sd && (pc->checkskill(sd,SA_FREECAST) > 0 || skill_id == LG_EXEEDBREAK) )
status_calc_bl(&sd->bl, SCB_SPEED);
@@ -1742,6 +1744,7 @@ int unit_skilluse_pos2( struct block_list *src, short skill_x, short skill_y, ui
// in official this is triggered even if no cast time.
clif->skillcasting(src, src->id, 0, skill_x, skill_y, skill_id, skill->get_ele(skill_id, skill_lv), casttime);
if( casttime > 0 ) {
+ unit->setdir(src, map->calc_dir(src, skill_x, skill_y));
ud->skilltimer = timer->add( tick+casttime, skill->castend_pos, src->id, 0 );
if( (sd && pc->checkskill(sd,SA_FREECAST) > 0) || skill_id == LG_EXEEDBREAK)
status_calc_bl(&sd->bl, SCB_SPEED);
@@ -2170,6 +2173,7 @@ int unit_attack_timer_sub(struct block_list* src, int tid, int64 tick) {
}
if(ud->state.attack_continue) {
+ unit->setdir(src, map->calc_dir(src, target->x, target->y));
if( src->type == BL_PC && battle_config.idletime_criteria & BCIDLE_ATTACK )
((TBL_PC*)src)->idletime = sockt->last_tick;
ud->attacktimer = timer->add(ud->attackabletime,unit->attack_timer,src->id,0);