From 7eb1e547a38d71f01726525211be0e9e2bf29756 Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Sun, 26 Jul 2015 10:45:45 +0100 Subject: [PATCH 1/2] Better follow code --- code/modules/mob/dead/observer/observer.dm | 60 ++++++++++++++++++---- code/modules/mob/living/life.dm | 2 + 2 files changed, 52 insertions(+), 10 deletions(-) diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 71afbc893d..81b882a4aa 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -318,16 +318,56 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp if(following && following == target) return following = target - src << "\blue Now following [target]" - spawn(0) - while(target && following == target && client) - var/turf/T = get_turf(target) - if(!T) - break - // To stop the ghost flickering. - if(loc != T) - loc = T - sleep(15) + src << "Now following [target]" + if(ismob(target)) + loc = get_turf(target) + var/mob/M = target + M.following_mobs += src + else + spawn(0) + while(target && following == target && client) + var/turf/T = get_turf(target) + if(!T) + break + // To stop the ghost flickering. + if(loc != T) + loc = T + sleep(15) + +/mob/proc/update_following() + . = get_turf(src) + for(var/mob/dead/observer/M in following_mobs) + if(M.following != src) + following_mobs -= M + else + if(M.loc != .) + M.loc = . + +/mob + var/list/following_mobs = list() + +/mob/Destroy() + for(var/mob/dead/observer/M in following_mobs) + M.following = null + following_mobs = null + return ..() + +/mob/dead/observer/Destroy() + if(ismob(following)) + var/mob/M = following + M.following_mobs -= src + following = null + return ..() + +/mob/Move() + . = ..() + if(.) + update_following() + +/mob/Life() + // to catch teleports etc which directly set loc + update_following() + return ..() /mob/proc/check_holy(var/turf/T) return 0 diff --git a/code/modules/mob/living/life.dm b/code/modules/mob/living/life.dm index d7f475ec5b..65e8c2f278 100644 --- a/code/modules/mob/living/life.dm +++ b/code/modules/mob/living/life.dm @@ -2,6 +2,8 @@ set invisibility = 0 set background = BACKGROUND_ENABLED + ..() + if (transforming) return if(!loc) From 8397eee4046f3436d9c23ca86523b413b1e694a7 Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Sun, 26 Jul 2015 10:45:54 +0100 Subject: [PATCH 2/2] Travis count update --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 6ac5e02e3f..8333d31a33 100644 --- a/.travis.yml +++ b/.travis.yml @@ -32,7 +32,7 @@ script: - (! grep 'step_[xy]' maps/**/*.dmm) - (! find nano/templates/ -type f -exec md5sum {} + | sort | uniq -D -w 32 | grep nano) - (! grep -E "<\s*span\s+class\s*=\s*('[^'>]+|[^'>]+')\s*>" **/*.dm) - - (num=`grep -E '\\\\(red|blue|green|black|b|i[^mc])' **/*.dm | wc -l`; echo "$num escapes (expecting 1257 or less)"; [ $num -le 1257 ]) + - (num=`grep -E '\\\\(red|blue|green|black|b|i[^mc])' **/*.dm | wc -l`; echo "$num escapes (expecting 1249 or less)"; [ $num -le 1249 ]) - md5sum -c - <<< "0af969f671fba6cf9696c78cd175a14a *baystation12.int" - md5sum -c - <<< "88490b460c26947f5ec1ab1bb9fa9f17 *html/changelogs/example.yml" - python tools/TagMatcher/tag-matcher.py ../..