anchor.diff:  
   It acts as a melee creature, chasing down and attacking its target while also using different attacks to augment its power that increase as it takes damage.
   
  -It tries to strike at its target through any bloodpools under them; if it fails to do that, it will spray blood and then attempt to warp to a bloodpool near the target.
  -If it fails to warp to a target, it may summon up to 6 slaughterlings from the blood around it.
  -If it does not summon all 6 slaughterlings, it will instead charge at its target, dealing massive damage to anything it hits and spraying a stream of blood.
  -At half health, it will either charge three times or warp, then charge, instead of doing a single charge.
  -
  -When Bubblegum dies, it leaves behind a H.E.C.K. mining suit as well as a chest that can contain three things:
  - 1. A bottle that, when activated, drives everyone nearby into a frenzy
  - 2. A contract that marks for death the chosen target
  - 3. A spellblade that can slice off limbs at range
  +It often charges, dealing massive damage to anything unfortunate enough to be standing where it's aiming.
  +Whenever it isn't chasing something down, it will sink into nearby blood pools (if possible) and springs out of the closest one to its target.
  +To make this possible, it sprays streams of blood at random.
  +From these blood pools Bubblegum may summon slaughterlings - weak, low-damage minions designed to impede the target's progress.
  +
  +When Bubblegum dies, it leaves behind a chest that can contain three things:
  + 1. A spellblade that can slice off limbs at range
  + 2. A bottle that, when activated, drives everyone nearby into a frenzy
  + 3. A contract that marks for death the chosen target
   
   Difficulty: Hard
   
  
positive.code: 		forceMove(get_turf(found_bloodpool))
  		playsound(get_turf(src), 'sound/magic/exit_blood.ogg', 100, 1, -1)
  		visible_message("<span class='danger'>And springs back out!</span>")
  		return TRUE
  	return FALSE
  
  /mob/living/simple_animal/hostile/megafauna/bubblegum/proc/get_pools(turf/T, range)
  	. = list()
  	for(var/obj/effect/decal/cleanable/nearby in view(T, range))
  		if(nearby.can_bloodcrawl_in())
  			. += nearby
  
  /mob/living/simple_animal/hostile/megafauna/bubblegum/proc/blood_spray()
  	visible_message("<span class='danger'>[src] sprays a stream of gore!</span>")
  	var/range = 6 + round(anger_modifier * 0.4)
  	var/turf/previousturf = get_turf(src)
  	var/turf/J = previousturf
  	var/targetdir = get_dir(src, target)
  	if(target.loc == loc)
  		targetdir = dir
  	face_atom(target)
  	new /obj/effect/decal/cleanable/blood/bubblegum(J)
  	for(var/i in 1 to range)
  		J = get_step(previousturf, targetdir)
  		new /obj/effect/temp_visual/dir_setting/bloodsplatter(previousturf, get_dir(previousturf, J))
  		playsound(previousturf,'sound/effects/splat.ogg', 100, 1, -1)
  		if(!J || !previousturf.atmos_adjacent_turfs || !previousturf.atmos_adjacent_turfs[J])
  			break
  		new /obj/effect/decal/cleanable/blood/bubblegum(J)
  		previousturf = J
  		sleep(1)
  
  /obj/effect/decal/cleanable/blood/bubblegum
  	bloodiness = 0
  
  /obj/effect/decal/cleanable/blood/bubblegum/can_bloodcrawl_in()
  	return TRUE
  
  /mob/living/simple_animal/hostile/megafauna/bubblegum/proc/slaughterlings()
  	visible_message("<span class='danger'>[src] summons a shoal of slaughterlings!</span>")
  	var/max_amount = 6
  	for(var/H in get_pools(get_turf(src), 1))
  		if(!max_amount)
  			break
  		max_amount--
  		var/obj/effect/decal/cleanable/blood/B = H
  		new /mob/living/simple_animal/hostile/asteroid/hivelordbrood/slaughter(B.loc)
  	return max_amount
  
  /mob/living/simple_animal/hostile/asteroid/hivelordbrood/slaughter
  	name = "slaughterling"
  
negative.code: 	desc = "You're not quite sure how a signal can be bloody."
  	invisibility = 100
  
  /mob/living/simple_animal/hostile/megafauna/bubblegum/Life()
  	..()
  	move_to_delay = CLAMP(round((health/maxHealth) * 10), 5, 10)
  
  /mob/living/simple_animal/hostile/megafauna/bubblegum/OpenFire()
  	anger_modifier = CLAMP(((maxHealth - health)/50),0,20)
  	if(charging)
  		return
  	ranged_cooldown = world.time + ranged_cooldown_time
  
  	blood_warp()
  
  	if(prob(25))
  		INVOKE_ASYNC(src, .proc/blood_spray)
  
  	else if(prob(5+anger_modifier/2))
  		slaughterlings()
  	else
  		if(health > maxHealth/2 && !client)
  			INVOKE_ASYNC(src, .proc/charge)
  		else
  			INVOKE_ASYNC(src, .proc/triple_charge)
  
  
  /mob/living/simple_animal/hostile/megafauna/bubblegum/Initialize()
  	. = ..()
  	for(var/mob/living/simple_animal/hostile/megafauna/bubblegum/B in GLOB.mob_list)
  		if(B != src)
  			return INITIALIZE_HINT_QDEL //There can be only one
  	var/obj/effect/proc_holder/spell/bloodcrawl/bloodspell = new
  