anchor.diff:  	..()
   	if(!targets_from)
   		targets_from = src
  +	environment_target_typecache = typecacheof(environment_target_typecache)
   
   
   /mob/living/simple_animal/hostile/Life()
  
positive.code: 	var/list/emote_taunt = list()
  	var/taunt_chance = 0
  
  	var/ranged_message = "fires" //Fluff text for ranged mobs
  	var/ranged_cooldown = 0 //What the current cooldown on ranged attacks is, generally world.time + ranged_cooldown_time
  	var/ranged_cooldown_time = 30 //How long, in deciseconds, the cooldown of ranged attacks is
  
negative.code: 				var/atom/A = a
  				if(!A.Adjacent(targets_from))
  					continue
  				if(is_type_in_typecache(A, environment_target_typecache))
  					A.attack_animal(src)
  
  /mob/living/simple_animal/hostile/proc/EscapeConfinement()
  