diff options
Diffstat (limited to 'src/map/unit.c')
-rw-r--r-- | src/map/unit.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/map/unit.c b/src/map/unit.c index d8ef113e7..4703820cc 100644 --- a/src/map/unit.c +++ b/src/map/unit.c @@ -229,8 +229,11 @@ static int unit_walktoxy_timer(int tid,unsigned int tick,int id,int data) }
if (tbl->m == bl->m && check_distance_bl(bl, tbl, ud->chaserange))
{ //Reached destination.
- if (ud->state.attack_continue)
+ if (ud->state.attack_continue) {
+ clif_fixpos(bl); //Aegis uses one before every attack, we should
+ //only need this one for syncing purposes. [Skotlex]
unit_attack(bl, tbl->id, ud->state.attack_continue);
+ }
} else { //Update chase-path
unit_walktobl(bl, tbl, ud->chaserange, ud->state.walk_easy|(ud->state.attack_continue?2:0));
return 0;
@@ -238,8 +241,6 @@ static int unit_walktoxy_timer(int tid,unsigned int tick,int id,int data) } else { //Stopped walking. Update to_x and to_y to current location [Skotlex]
ud->to_x = bl->x;
ud->to_y = bl->y;
-// if (bl->type == BL_NPC) //Original eA code had this one only for BL_NPCs
-// clif_fixpos(bl);
}
return 0;
}
@@ -1247,6 +1248,10 @@ static int unit_attack_timer_sub(struct block_list* src, int tid, unsigned int t return 1;
}
+ //Sync packet only for players.
+ //Non-players use the sync packet on the walk timer. [Skotlex]
+ if (tid == -1 && sd) clif_fixpos(src);
+
if(DIFF_TICK(ud->attackabletime,tick) <= 0) {
if (battle_config.attack_direction_change &&
(src->type&battle_config.attack_direction_change)) {
|