anchor.diff:  					blinking = FALSE
   			return
   
  -	if(prob(10 + (anger_modifier * 0.5)) && get_dist(src, target) > 2)
  -		blink(target)
  -
  -	else if(prob(70 - anger_modifier)) //a cross blast of some type
  -		if(prob(anger_modifier)) //at us?
  -			if(prob(anger_modifier * 2) && health < maxHealth * 0.5) //we're super angry do it at all dirs
  -				INVOKE_ASYNC(src, .proc/alldir_blasts, src)
  -			else if(prob(60))
  -				INVOKE_ASYNC(src, .proc/cardinal_blasts, src)
  -			else
  -				INVOKE_ASYNC(src, .proc/diagonal_blasts, src)
  -		else //at them?
  -			if(prob(anger_modifier * 2) && health < maxHealth * 0.5 && !target_is_slow) //we're super angry do it at all dirs
  -				INVOKE_ASYNC(src, .proc/alldir_blasts, target)
  -			else if(prob(60))
  -				INVOKE_ASYNC(src, .proc/cardinal_blasts, target)
  -			else
  -				INVOKE_ASYNC(src, .proc/diagonal_blasts, target)
  -	else if(chaser_cooldown < world.time) //if chasers are off cooldown, fire some!
  +	if(chaser_cooldown < world.time) //if chasers are off cooldown, fire some!
   		var/obj/effect/temp_visual/hierophant/chaser/C = new /obj/effect/temp_visual/hierophant/chaser(loc, src, target, chaser_speed, FALSE)
   		chaser_cooldown = world.time + initial(chaser_cooldown)
   		if((prob(anger_modifier) || target.Adjacent(src)) && target != src)
  -			var/obj/effect/temp_visual/hierophant/chaser/OC = new /obj/effect/temp_visual/hierophant/chaser(loc, src, target, max(1.5, 5 - anger_modifier * 0.07), FALSE)
  +			var/obj/effect/temp_visual/hierophant/chaser/OC = new /obj/effect/temp_visual/hierophant/chaser(loc, src, target, chaser_speed * 1.5, FALSE)
   			OC.moving = 4
   			OC.moving_dir = pick(GLOB.cardinal - C.moving_dir)
  +
  +	else if(prob(10 + (anger_modifier * 0.5)) && get_dist(src, target) > 2)
  +		blink(target)
  +
  +	else if(prob(70 - anger_modifier)) //a cross blast of some type
  +		if(prob(anger_modifier * (2 / target_slowness)) && health < maxHealth * 0.5) //we're super angry do it at all dirs
  +			INVOKE_ASYNC(src, .proc/alldir_blasts, target)
  +		else if(prob(60))
  +			INVOKE_ASYNC(src, .proc/cardinal_blasts, target)
  +		else
  +			INVOKE_ASYNC(src, .proc/diagonal_blasts, target)
   	else //just release a burst of power
   		INVOKE_ASYNC(src, .proc/burst, get_turf(src))
   
  
positive.code: 
  The text this boss speaks is ROT4, use ROT22 to decode
  
  The Hierophant's attacks are as follows, and INTENSIFY at a random chance based on Hierophant's health;
  - Creates a cardinal or diagonal blast(Cross Blast) under its target, exploding after a short time.
  	INTENSITY EFFECT: Creates one of the cross blast types under itself instead of under the target.
  	INTENSITY EFFECT: The created Cross Blast fires in all directions if below half health.
  - If no chasers exist, creates a chaser that will seek its target, leaving a trail of blasts.
  	INTENSITY EFFECT: Creates a second, slower chaser.
  - Creates an expanding AoE burst.
  - INTENSE ATTACKS:
  	If target is at least 2 tiles away; Blinks to the target after a very brief delay, damaging everything near the start and end points.
  		As above, but does so multiple times if below half health.
  	Rapidly creates Cross Blasts under a target.
  	If chasers are off cooldown, creates four high-speed chasers.
  - IF TARGET WAS STRUCK IN MELEE: Creates a 3x3 square of blasts under the target.
  
  - IF TARGET IS OUTSIDE THE ARENA: Creates an arena around the target for 10 seconds, blinking to it if Hierophant is not in the arena.
  	The arena has a 20 second cooldown, giving people a small window to get the fuck out.
  
  Cross Blasts and the AoE burst gain additional range as Hierophant loses health, while Chasers gain additional speed.
  
  
negative.code: 
  /mob/living/simple_animal/hostile/megafauna/hierophant/OpenFire()
  	calculate_rage()
  	if(blinking)
  		return
  
  	var/target_slowness = 0
  	if(isliving(target))
  		var/mob/living/L = target
  		if(!blinking && L.stat == DEAD && get_dist(src, L) > 2)
  			blink(L)
  			return
  		target_slowness += L.movement_delay()
  	target_slowness = max(target_slowness, 1)
  	chaser_speed = max(1, (3 - anger_modifier * 0.04) + ((target_slowness - 1) * 0.5))
  
  	arena_trap(target)
  	ranged_cooldown = world.time + max(5, ranged_cooldown_time - anger_modifier * 0.75) //scale cooldown lower with high anger.
  