summaryrefslogtreecommitdiff
path: root/src/map
diff options
context:
space:
mode:
Diffstat (limited to 'src/map')
-rw-r--r--src/map/clif.c5
-rw-r--r--src/map/unit.c11
2 files changed, 9 insertions, 7 deletions
diff --git a/src/map/clif.c b/src/map/clif.c
index 075f0fbfc..5f17946a9 100644
--- a/src/map/clif.c
+++ b/src/map/clif.c
@@ -3837,10 +3837,7 @@ static int clif_calc_walkdelay(struct block_list *bl,int delay, int type, int da
if (div_ > 1) //Multi-hit skills mean higher delays.
delay += battle_config.multihit_delay*(div_-1);
- if (delay <= 0)
- return 0;
-
- return delay>0?delay:0;
+ return delay>0?delay:1; //Return 1 to specify there should be no noticeable delay, but you should stop walking.
}
/*==========================================
diff --git a/src/map/unit.c b/src/map/unit.c
index d7613cc02..bbb73ecdd 100644
--- a/src/map/unit.c
+++ b/src/map/unit.c
@@ -674,9 +674,14 @@ int unit_set_walkdelay(struct block_list *bl, unsigned int tick, int delay, int
ud->canmove_tick = tick + delay;
if (ud->walktimer != -1)
{ //Stop walking, if chasing, readjust timers.
- unit_stop_walking(bl,3);
- if(ud->target)
- add_timer(ud->canmove_tick+1, unit_walktobl_sub, bl->id, ud->target);
+ if (delay == 1)
+ { //Minimal delay (walk-delay) disabled. Just stop walking.
+ unit_stop_walking(bl,1);
+ } else {
+ unit_stop_walking(bl,3);
+ if(ud->target)
+ add_timer(ud->canmove_tick+1, unit_walktobl_sub, bl->id, ud->target);
+ }
}
return 1;
}