diff --git a/code/game/gamemodes/miniantags/guardian/guardian.dm b/code/game/gamemodes/miniantags/guardian/guardian.dm index 527ee866939..c2bc44dbb26 100644 --- a/code/game/gamemodes/miniantags/guardian/guardian.dm +++ b/code/game/gamemodes/miniantags/guardian/guardian.dm @@ -98,18 +98,17 @@ /mob/living/simple_animal/hostile/guardian/proc/snapback() // If the summoner dies instantly, the summoner's ghost may be drawn into null space as the protector is deleted. This check should prevent that. if(summoner && loc && summoner.loc) - if(get_dist(get_turf(summoner),get_turf(src)) <= range) + if(get_dist(get_turf(summoner), get_turf(src)) <= range) return + to_chat(src, "You moved out of range, and were pulled back! You can only move [range] meters from [summoner.real_name]!") + visible_message("[src] jumps back to its user.") + if(iseffect(summoner.loc) || istype(summoner.loc, /obj/machinery/atmospherics)) + Recall(TRUE) else - to_chat(src, "You moved out of range, and were pulled back! You can only move [range] meters from [summoner.real_name]!") - visible_message("\The [src] jumps back to its user.") - if(iseffect(summoner.loc)) - Recall(TRUE) - else - if(!stealthy_deploying) - new /obj/effect/temp_visual/guardian/phase/out(get_turf(src)) - new /obj/effect/temp_visual/guardian/phase(get_turf(summoner)) - forceMove(summoner.loc) //move to summoner's tile, don't recall + if(!stealthy_deploying) + new /obj/effect/temp_visual/guardian/phase/out(get_turf(src)) + new /obj/effect/temp_visual/guardian/phase(get_turf(summoner)) + forceMove(summoner.loc) //move to summoner's tile, don't recall /mob/living/simple_animal/hostile/guardian/proc/is_deployed() return loc != summoner @@ -198,7 +197,8 @@ /mob/living/simple_animal/hostile/guardian/proc/Recall(forced = FALSE) if(!summoner || loc == summoner || (cooldown > world.time && !forced)) return - if(!summoner) return + if(!summoner) + return if(!stealthy_deploying) new /obj/effect/temp_visual/guardian/phase/out(get_turf(src)) forceMove(summoner)