diff options
Diffstat (limited to 'src/map')
-rw-r--r-- | src/map/pc.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/src/map/pc.c b/src/map/pc.c index 5da11f4a4..2b9401841 100644 --- a/src/map/pc.c +++ b/src/map/pc.c @@ -5458,14 +5458,13 @@ int pc_follow_timer(int tid, unsigned int tick, int id, intptr_t data) } sd->followtimer = INVALID_TIMER; - if (pc_isdead(sd)) - return 0; - - if ((tbl = map_id2bl(sd->followtarget)) == NULL) - return 0; + tbl = map_id2bl(sd->followtarget); - if(status_isdead(tbl)) + if (tbl == NULL || pc_isdead(sd) || status_isdead(tbl)) + { + pc_stop_following(sd); return 0; + } // either player or target is currently detached from map blocks (could be teleporting), // but still connected to this map, so we'll just increment the timer and check back later |