anchor.diff:  
   			if(state != HOSTILE) return
   
  +			var/active = 1
  +			if(origloc)
  +				var/area/newareas/a = origloc.loc
  +				if(istype(a, /area/newareas) && !a.active)
  +					if(a.region)
  +						active = a.region.active
  +					else
  +						active = 0
  +
   			var/distance = get_dist(src, target)
  -			if(!target || !target.loc || target.loc.loc != loc.loc || distance > Range)
  +			if(!active || !target || !target.loc || distance > Range)
   				target = null
   				ChangeTarget()
   				if(!target)
  
positive.code: 			DMGmodifier = 3
  			MoveDelay = 3
  			AttackDelay = 1
  			Range = 16
  			respawnTime = 6000
  
  			prizePoolSize = 2
  
negative.code: 					active = 0
  					for(var/mob/Enemies/M in src)
  						if(M.state != M.INACTIVE)
  							if(!region)
  								M.ChangeState(M.INACTIVE)
  							else if(!M.target)
  								M.ChangeState(M.WANDER)
  
  area/Exit(atom/movable/O, atom/newloc)
  	.=..()
  
  	if(istype(O, /mob/Enemies) && . && newloc && O:state)
  		var/mob/Enemies/e = O
  		if(e.removeoMob)
  			if(!issafezone(src) && issafezone(newloc.loc)) return 0
  		else
  			if(e.target || !e.origloc)
  				if(issafezone(newloc.loc))
  					e.target = null
  				else
  					return
  
  			var/list/dirs = list(NORTH, SOUTH, EAST, WEST, NORTHEAST, NORTHWEST, SOUTHEAST, SOUTHWEST)
  			dirs -= e.dir
  
  			. = 0
  			while(dirs.len)
  				var/d = pick(dirs)
  				dirs -= d
  
  				var/turf/t = get_step(e, d)
  				if(t && t.loc == src)
  					step(e, d)
  					break
  
  
  