summaryrefslogtreecommitdiff
path: root/src/map/pc.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/map/pc.c')
-rw-r--r--src/map/pc.c11
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