diff options
Diffstat (limited to 'src/map/unit.c')
-rw-r--r-- | src/map/unit.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/src/map/unit.c b/src/map/unit.c index 9d2356d58..0755ef9c4 100644 --- a/src/map/unit.c +++ b/src/map/unit.c @@ -258,7 +258,7 @@ static int unit_walktoxy_timer(int tid,unsigned int tick,int id,int data) return 0; } -//Easy parameter: &1 -> 1/2 = easy/hard, &2 -> ignore MD_CANMOVE check +//Easy parameter: &1 -> 1/2 = easy/hard, &2 -> force walking. int unit_walktoxy( struct block_list *bl, int x, int y, int easy) { struct unit_data *ud = NULL; struct status_change *sc = NULL; @@ -272,12 +272,9 @@ int unit_walktoxy( struct block_list *bl, int x, int y, int easy) { if( ud == NULL) return 0; - if(!(easy&2) && !status_get_mode(bl)&MD_CANMOVE) + if(!(easy&2) && (!status_get_mode(bl)&MD_CANMOVE || !unit_can_move(bl))) return 0; - if (!unit_can_move(bl)) - return 0; - ud->state.walk_easy = easy&1; ud->target = 0; ud->to_x = x; |